Почему сжатие gzip в Internet Explorer не работает?
Мой сайт сжат сжатым, и он не загружается должным образом в IE. Он отлично работает в FF/Chrome, но в IE появляется только окно с просьбой загрузить файл.gz, содержащий HTML-документ для страницы.
Это нормально? Должен ли я отключить gzip?
4 ответа
Вы отправляете правильные заголовки?
Вам необходимо отправить
Content-Encoding: gzip
заголовок для IE, чтобы понять, что он сжат (Firefox и др. достаточно умны, чтобы обнаруживать это автоматически - хотя они не должны!)
В PHP вы можете сделать это, используя:-
header('Content-Encoding: gzip');
Одна вещь, которую нужно добавить - вы должны отключить сжатие gzip для IE6 pre-SP2. До SP2 IE6 не всегда правильно считывал и кешировал сжатый контент, и в итоге вы получили искаженный код.
Вы можете определить установку IE6 SP2, выполнив поиск "SV1" в строке user-agent.
Я видел проблемы при использовании gzip с Internet Explorer на странице, на которой есть flash. Если ваша страница имеет флэш-память, это может быть причиной. Я не помню причину, и в то время, когда мы нашли это, это вызывало проблемы на живом сайте, поэтому мы просто отключили gzip для Internet Explorer, чтобы обойти это.
Заголовки HTTP являются проблемой. Если у вас есть заголовок gzip вместе с одним из следующих:
- изменяться
- Кодировка передачи: Chunked
один или оба должны быть удалены.
Эта проблема чаще возникает на компьютере под управлением Apache HTTP Server, потому что Apache HTTP Server может использовать кусочную кодировку для любого типа файла. Это включает в себя статические файлы, такие как файл JavaScript или файл.gif. При возникновении проблемы, описанной в этой статье, содержимое, хранящееся в кэше Internet Explorer, может быть обрезано или повреждено.
Для файлов XML, XHTML и XSLT запретите синтаксический анализ как text/html или text/xsl:
RewriteCond %{HTTP_ACCEPT} text\/html [OR]
RewriteCond %{HTTP_ACCEPT} text\/xsl [OR]
RewriteCond %{HTTP_ACCEPT} gif|jpeg|png$
ReWriteRule .*\.(xsl|xslt)$ - [F]
И добавить application/xml
как отображение типа контента:
AddType application/xml .xsl
Рекомендации