Почему сжатие gzip с Internet Explorer не работает?

Мой сайт сжат gzipped, и он не загружается должным образом в IE. Он отлично работает в FF / Chrome, но в IE появляется только окно с запросом загрузить файл .gz, содержащий html-документ для страницы.

Это нормально? Должен ли я отключать gzip?

Solutions Collecting From Web of "Почему сжатие gzip с Internet Explorer не работает?"

Вы отправляете правильные заголовки?

Вам необходимо отправить

Content-Encoding: gzip 

заголовок для IE, чтобы понять, что он gzipped (Firefox и др. достаточно умны, чтобы обнаружить это автоматически – хотя они и не должны!)

В PHP вы можете сделать это, используя: –

 header('Content-Encoding: gzip'); 

Одна вещь для добавления – вы должны отключить сжатие gzip для IE6 pre-SP2. До SP2 IE6 не всегда правильно читает и кэширует gzipped-контент, и вы получаете искаженный код.

Вы можете определить установку пакета обновления 2 (SP2) для IE6, выбрав «SV1» в строке user-agent.

Я видел проблемы при использовании gzip с Internet Explorer на странице со вспышкой. Если на вашей странице вспышка, возможно, поэтому. Я не помню причину, и в то время, когда мы обнаружили, что это вызывало проблемы на реальном сайте, мы просто отключили gzip для Internet Explorer, чтобы обойти его.

Заголовки HTTP являются проблемой. Если у вас есть заголовок gzip вместе с одним из следующих:

  • изменяться
  • Кодирование передачи: Chunked

один или оба должны быть удалены.

Вероятнее всего, эта проблема возникает на компьютере, на котором запущен HTTP-сервер Apache, поскольку HTTP-сервер Apache может использовать закодированную кодировку на любом виде файла. Сюда входят статические файлы, такие как файл 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 

Рекомендации

  • Internet Explorer не может распаковывать HTTP-контент при посещении веб-сайта

  • Разница с заботой

  • IE 8, похоже, не может отображать некоторые файлы типа Википедии – приложение / x-gzip-MIME

  • Internet Explorer 6 не отображает строгие веб-страницы XHTML