IE 10的Apache / Linux的HTTP / 1.0 412 precondition失败的Video.js加载MP4视频 [英] IE 10 Apache/Linux HTTP/1.0 412 Precondition Failed video.js loading mp4 video

查看:1070
本文介绍了IE 10的Apache / Linux的HTTP / 1.0 412 precondition失败的Video.js加载MP4视频的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个有趣的问题,当我们有东西这个组合:

We have a interesting problem, when we have this combination of stuff:

IE 10(有时IE 9也)
阿帕奇2.2 / Linux操作系统(RH EL 6.3)上运行的HTTPS
的Video.js球员
MP4视频文件

IE 10 (sometimes IE 9 also) Apache 2.2/Linux (RH EL 6.3) running https video.js player mp4 video file

当我们的东西,这个组合的视频播放器显示一个旋转图标。

When we have this combination of things the video player shows a spinning icon.

当我们检查HTTP头,我们看到:
要求:

When we examine the http headers we see: request:

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浏览器,一切工作正常。

On IE 8 it seems to use flash so we have a different path and it works. On Firefox/Chrome/Safari, everything works fine.

我们可以看到,可能会导致这种情况的唯一的事情就是:
Firefox使用:

The only thing we can see that may be causing this is: Firefox uses:

If-Modified-Since   Thu, 11 Jul 2013 19:58:37 GMT
If-None-Match   "a074e-50228d-4e141d1edc1b6"

这是不同的请求头。

These are different request headers.

任何想法?

谢谢
乔尔

推荐答案

该问题是由这些请求头造成的:

The problem is caused by these request headers:

If-Unmodified-Since Thu, 11 Jul 2013 19:49:44 GMT
If-Match W/"a074e-50228d-4e141b21b6cfb" 

服务器说不,我现在该资源的版本不符合这些标准,所以我会返回一个HTTP / 412响应,让你知道的。

The server says "no, my current version of that resource doesn't meet those criteria, so I'll return a HTTP/412 response to let you know that."

这些标头是有,因为客户机作出HTTP范围请求(请求只有文件的一部分),因此它需要以确保它从服务器取回该文件的部分是从相同版本的文件,它已经拥有了一部分。

Those headers are there because the client is making a HTTP RANGE request (asking for only part of the file) and thus it needs to ensure that the portion of the file it's getting back from the server is from the same version of the file for which it already has a part.

什么是原始响应的HTTP响应头?是否对响应的ETag头有正确引号包裹它的价值?是否只有一台服务器或者是你在多台服务器的负载均衡请求?

What are the HTTP response headers on the original response? Does the ETAG header on the response properly have quotation marks wrapping its value? Is there only a single server or are you load-balancing requests across multiple servers?

这篇关于IE 10的Apache / Linux的HTTP / 1.0 412 precondition失败的Video.js加载MP4视频的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆