我已经包含了一个音频和视频播放器(带有 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 请求。