当我们有这样的组合时,我们有一个有趣的问题:
IE 10(有时也是IE 9)
Apache 2.2 / Linux(RH EL 6.3)运行https
video.js播放器
mp4视频文件
当我们有这些组合时,视频播放器会显示旋转图标.
当我们检查http标头时,我们看到:
请求:
GET /tmp/Question123.mp4 HTTP/1.1
Accept */*
If-Unmodified-Since Thu, 11 Jul 2013 19:49:44 GMT
If-Match W/"a074e-50228d-4e141b21b6cfb"
Range bytes=49152-5251724
User-Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; MALC)
GetContentFeatures.DLNA.ORG 1
Pragma getIfoFileURI.dlna.org
Accept-Language en-US
Accept-Encoding gzip, deflate
Host: mysite.com
Connection Keep-Alive
响应:
HTTP/1.0 412 Precondition Failed
在IE 8上它似乎使用闪存,所以我们有一个不同的路径,它的工作原理.
在Firefox / Chrome / Safari上,一切正常.
我们可以看到的唯一可能导致这种情况的是:
Firefox使用:
If-Modified-Since Thu, 11 Jul 2013 19:58:37 GMT
If-None-Match "a074e-50228d-4e141d1edc1b6"
这些是不同的请求标头.
有任何想法吗?
谢谢
乔尔
最佳答案 问题是由这些请求标头引起的:
If-Unmodified-Since Thu, 11 Jul 2013 19:49:44 GMT
If-Match W/"a074e-50228d-4e141b21b6cfb"
服务器说“不,我当前的资源版本不符合这些标准,所以我会返回一个HTTP / 412响应让你知道.”
这些标题是因为客户端正在发出HTTP RANGE请求(仅询问文件的一部分),因此需要确保从服务器返回的文件部分来自同一版本的文件.它已经有了一部分.
原始响应中的HTTP响应标头是什么?响应中的ETAG标头是否正确包含其值的引号?是否只有一台服务器,或者您是否跨多个服务器负载均衡请求?