我已经包含了一个音频和视频播放器(带有 Flash 后备的 html5),它适用于除 IE 之外的所有浏览器。
在寻找问题时,我发现服务器发送“HTTP/1.0 200 OK”和“Connection:close”标头(并且没有 Content-Length),但仅在 IE 中且仅针对某些文件(包括 .swf、.mp3 和.mp4)。
我已将以下内容添加到 .htaccess 以禁用这些文件的 gzip:
<IfModule mod_env.c>
SetEnvIfNoCase Request_URI "\.(?:mp3|mp4)$" no-gzip dont-vary
</IfModule>
我对 apache 配置没有经验,也不知道为什么应该为某些请求使用不同的 http 版本。
以下是发送标头:
GET /test.mp3 HTTP/1.1
Accept */*
User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Accept-Encoding gzip, deflate
Host ------
Connection Keep-Alive
和响应头:
HTTP/1.0 200 OK
Date Wed, 13 Jun 2012 07:38:17 GMT
Server Apache/2.2.22 (Unix) mod_fcgid/2.3.6 mod_ssl/2.2.22 OpenSSL/0.9.8g
Last-Modified Mon, 04 Jun 2012 13:15:25 GMT
ETag "1bc12b-596969-4c1a553b51540"
Accept-Ranges bytes
Connection close
Content-Type audio/mpeg
更新:我刚刚发现初始页面请求(PHP,文本/html)响应也是 HTTP/1.0,但不是所有后续的 ajax 请求。