iPhone/iPad Safari 是不是需要视频的“Accept-Ranges”标头?
Posted
技术标签:
【中文标题】iPhone/iPad Safari 是不是需要视频的“Accept-Ranges”标头?【英文标题】: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 文档吗?
谢谢。
【问题讨论】:
【参考方案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 不需要这些标头才能使字节范围请求起作用)。 我试图帮助您进行实际的设备测试,但没关系。 谢谢!如果有办法测试第二部分(带有字节范围和带有/不带有接受范围标头),那么我们将得到明确的答案。以上是关于iPhone/iPad Safari 是不是需要视频的“Accept-Ranges”标头?的主要内容,如果未能解决你的问题,请参考以下文章
Safari iPhone/iPad 中的 Nan 错误日期
CSS 背景位置在 Mobile Safari (iPhone/iPad) 中不起作用
为啥在 iOS Safari Mobile (iPhone / iPad) 中没有触发模糊事件?
CSS 跨浏览器问题 - 旋转在 Safari、Ipad 和 Iphone 上不起作用