【问题标题】:F4V Player Works on Every Site But OneF4V 播放器适用于除一个以外的所有站点
【发布时间】:2009-07-08 22:31:46
【问题描述】:

我什至不知道如何开始描述这个问题——我完全感到困惑。基本上,我有一个定制的 F4V 视频播放器,它通过 HTTP 请求获取 F4V,然后使用一些标准的 AS3 播放视频。

现在,我在相同的 SliceHost 切片上拥有三个站点,运行相同的操作系统,相同的 PHP 版本,构建在相同的平台上,具有相同的 Apache 设置,一切。在其中一个站点(仅其中一个站点)上,第一次加载播放器时视频不会播放,而是必须刷新页面才能播放视频,本质上是从缓存中播放视频。否则,它会等待,就好像它从来没有下载足够的文件来开始播放一样。此外,在同一个站点上,在一个且只有一个视频上,播放音频但不播放视频,直到大约第三次或第四次播放。之后,视频与音频一起播放。

我已将经过验证的、工作正常的 swf 文件从功能站点移动到损坏的站点,并看到相同的结果。我已将损坏的 F4V 文件上传到功能站点,它们工作正常。我已经确保加载播放器的 HTML 和 Javascript 是相同的。

是否有什么我忘记检查可能导致此问题的原因?有人对浏览器或闪存缓存有更多了解吗?

其他信息:
我添加了一个 nocache 指令,尽管正如您所预料的那样,这也导致它在刷新时也开始失败。我一直在使用 HTTPFox 来查看请求,尽管没有任何结果。我唯一能真正收集到的是,它在从缓存中获取时似乎可以正确播放,但在从站点请求时却没有。但是,即使发出请求,它也可以在其他网站上正常播放。

在请求正常工作的站点上,HTTPFox 会显示请求中返回的正确大小(几 MB)的数据。在违规站点上,它显示 F4V 请求返回的数据不到 1K。

【问题讨论】:

    标签: flash apache http video download


    【解决方案1】:

    这是正确的答案。我花了一点时间更仔细地比较 HTTP 请求并发现问题。由于 apache 配置错误,有问题的服务器似乎正在尝试 gzip 除图像之外的所有内容。将配置更改为仅 gzip 几个关键文件类型解决了该问题。感谢您的帮助 Lex。

    【讨论】:

      【解决方案2】:

      已编辑,因为这是当前最佳答案。

      在这种情况下,问题在于将 GZIP 应用于一个单独的站点。其他要寻找的东西是:

      • 缓存
      • MIME 类型
      • 协议(版本和 SSL)
      • 压缩

      要识别此类问题,您可以使用诸如Fiddler 之类的工具(但是还有其他工具,尤其适用于非 MS 堆栈,例如 wireshark)。使用这样的工具可以让您详细比较和对比响应和请求,甚至更改然后重放它们以缩小问题范围。

      【讨论】:

      • 我添加了一个 nocache 指令,尽管正如您所预料的那样,这也导致它在刷新时也开始失败。我一直在使用 HTTPFox 来查看请求,尽管没有任何结果。我唯一能真正收集到的是,它在从缓存中获取时似乎可以正确播放,但在从站点请求时却没有。但是,即使发出请求,它也可以在其他网站上正常播放。
      猜你喜欢
      • 1970-01-01
      • 2018-07-23
      • 1970-01-01
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 2015-06-12
      • 1970-01-01
      • 2016-04-22
      相关资源
      最近更新 更多