【问题标题】:Does iPhone/iPad Safari require 'Accept-Ranges' header for video?iPhone/iPad Safari 是否需要视频的“Accept-Ranges”标头?
【发布时间】:2011-03-24 18:12:17
【问题描述】:

我在从开发服务器提供可在移动 Safari 中播放的视频时遇到问题。我的开发服务器不支持“Accept-Ranges”标头,在阅读了几个论坛后,我发现这可能是我的问题。 Here is an example forum posting saying just that.

这是正确的吗?移动 Safari 是否需要 Accept-Ranges 标头?任何人都可以指出任何实际说明这一点的 Apple 文档吗?

谢谢。

【问题讨论】:

    标签: ipad html http mobile-safari html5-video


    【解决方案1】:

    我发现一些 Apple 文档说它确实需要视频。

    为 iOS 托管媒体文件的 HTTP 服务器必须支持字节范围 requests,iOS 用来在媒体播放中执行随机访问。 (字节范围支持也称为内容范围或部分范围 支持。)大多数(但不是全部)HTTP 1.1 服务器已经支持 字节范围请求。

    如果您不确定您的媒体服务器是否支持字节范围 请求,您可以在 OS X 中打开终端应用程序并使用 curl命令行工具从文件中下载一小段 服务器:

    curl --range 0-99 http://example.com/test.mov -o /dev/null

    如果工具报告它下载了 100 字节,则媒体服务器正确 处理字节范围请求。如果它下载整个文件,你 可能需要更新媒体服务器。

    Source: Apple Documentation

    【讨论】:

      【解决方案2】:

      answer above 很有帮助,但实际上并不能回答所提出的问题。

      根据HTTP RFC,即使支持字节范围请求,Accept-Ranges 标头也是可选的。

      但是,记录在案的 curl 检查意味着答案是否定的:iOS 不需要视频的 Accept-Ranges 标头,但确实需要带有部分内容 (206) 响应的字节范围支持。

      免责声明:我没有在实际设备上检查过。

      【讨论】:

      • 我已经在几个实际设备上进行了检查 - 如果我在服务器上禁用字节范围支持,任何 Safari 浏览器都会拒绝播放视频。
      • 我认为这部分已经建立,但问题是它是否需要 Accept-Ranges 标头(RFC 不需要这些标头才能使字节范围请求起作用)。
      • 我试图帮助您进行实际的设备测试,但没关系。
      • 谢谢!如果有办法测试第二部分(带有字节范围和带有/不带有接受范围标头),那么我们将得到明确的答案。
      猜你喜欢
      • 1970-01-01
      • 2013-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-10
      • 1970-01-01
      相关资源
      最近更新 更多