Вопрос

I've included an audio and video player (html5 with flash fallback) which works in all browsers except IE.

While looking for the problem I found that the server sends "HTTP/1.0 200 OK" and "Connection:close" headers (and no Content-Length), but only in IE and only for some files (including .swf, .mp3 and .mp4).

I have added the following to .htaccess to disable gzip for those files:

<IfModule mod_env.c>
  SetEnvIfNoCase Request_URI "\.(?:mp3|mp4)$" no-gzip dont-vary
</IfModule>

I have no experience with apache configurations and no idea why a different http version should be used for some requests.

Here are the send headers:

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

and the response headers:

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

UPDATE: I just found out that the initial page request (PHP, text/html) response is also HTTP/1.0 but not all subsequent ajax requests.

Это было полезно?

Решение

The problem was with an old configuration option in apache that was never removed from the default configuration:

http://blogs.msdn.com/b/ieinternals/archive/2011/03/26/https-and-connection-close-is-your-apache-modssl-server-configuration-set-to-slow.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top