DEFLATE não funciona no IE9

5

Eu postei isso no estouro da pilha, mas foi sugerido que eu possa ter mais sorte aqui:

Eu não usei deflacionar antes para codificar páginas web, então isso é novo para mim, mas quando eu olho para o tráfego nework em ff, meu arquivo all.js agora é 117kb de 427kb, então parece que estou trabalhando aqui. Mas não há mudança no IE9. Meu cabeçalho de resposta diz Content-Encoding: gzip no FF, mas não no IE9

aqui está o meu .htaccess:

<ifModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
</ifModule>

Solicitar cabeçalho para all.js no IE9:

   Key  Value
Request GET /all.js HTTP/1.1
Accept  application/javascript, */*;q=0.8
Referer http://www.alexchapman.co.uk/
Accept-Language en-GB
User-Agent  Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding gzip, deflate
Host    static.alexchapman.co.uk
Connection  Keep-Alive
Cache-Control   no-cache

Cabeçalho de resposta para all.js no IE9:

Key Value
Response    HTTP/1.1 200 OK
Date    Tue, 28 Feb 2012 15:53:41 GMT
Server  Apache/2
Last-Modified   Tue, 28 Feb 2012 15:53:40 GMT
Accept-Ranges   bytes
Cache-Control   private
Expires Fri, 02 Mar 2012 03:53:41 GMT
Keep-Alive  timeout=15, max=100
Connection  Keep-Alive
Transfer-Encoding   chunked
Content-Type    text/javascript

Solicite cabeçalho para all.js no Firefox:

Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-gb,en;q=0.5
Cache-Control: no-cache
Connection: keep-alive
Cookie: DELETED - this should not be sent and isnt sent with IE
Host: static.alexchapman.co.uk
Pragma: no-cache
Referer: http://www.alexchapman.co.uk/
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2

Cabeçalho de resposta para todos os.js no Firefox:

Accept-Ranges: bytes
Cache-Control: private
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/javascript
Date: Tue, 28 Feb 2012 15:55:26 GMT
Expires: Fri, 02 Mar 2012 03:55:26 GMT
Keep-Alive: timeout=15, max=100
Last-Modified: Tue, 28 Feb 2012 15:55:26 GMT
Server: Apache/2
Transfer-Encoding: chunked
Vary: Accept-Encoding

Para ficar claro, isso não está acontecendo apenas com all.js - usei isso como exemplo, já que é o maior arquivo que se beneficiará com a compactação. Qualquer sugestão sobre o que estou fazendo de errado seria muito apreciada.

********** UPDATE ************

Meu provedor de hospedagem voltou para mim e disse que eles podem confirmar que o gzip e o deflate estão habilitados e funcionando no meu site, eles disseram que O problema com o Internet Explorer é específico desse navegador, então recomendo testar o modo de compatibilidade como isso não é causado por nossos servidores.

Eu sei de uma visão de compatibilidade no IE e isso deve ajudar a renderizar sites antigos de forma correta, então não sei o que eles estão fazendo aqui e posso confirmar que isso não faz diferença na compactação de arquivos.

    
por SwiftD 27.02.2012 / 19:38

3 respostas

2

Acho que resolvi o que está acontecendo aqui. Eu baixei o Wireshark e verifiquei o tráfego de rede através disso. Istruggled com um mas, mas eu acho que eu tenho agora - seria ótimo se alguém pode confirmar que eu fiz isso corretamente.

Olhando para o arquivo all.js como exemplo, segui o fluxo tcp para a solicitação no firefox e no IE9. Ambos disseram que estavam usando o encapsulamento gzip. Curiosamente, o tamanho total da conversa foi diferente. Ie9 - 268471 bytes FF-120812 bytes (menores que o arquivo descompactado).

Este é aproximadamente o tamanho de arquivo correto informado no firebug. Mas é metade do tamanho do arquivo informado nas ferramentas de desenvolvimento do IE. Portanto, parece que o IE não é apenas pior no gzip, mas é incorretamente reportado pela ferramenta de desenvolvedor que é ainda pior do que é. Se alguém puder verificar este resultado ou sugerir uma explicação, aceitarei a resposta.

    
por 01.03.2012 / 17:14
0

Não é uma 'resposta' per se, mas o mod_gzip funciona muito bem para mim (IE9 também). Minha configuração:

<IfModule gzip_module>
    mod_gzip_on Yes

    mod_gzip_item_include mime text/.*
    mod_gzip_item_include mime application/xm.*
    mod_gzip_item_include mime application/javascript
    mod_gzip_item_include mime image/svg.*

    mod_gzip_dechunk Yes
</IfModule>

Deflate e GZip são quase a mesma coisa, gzip é tecnicamente mais lento , embora em computadores modernos a diferença possa ser ignorada com segurança no final do cliente, e no servidor final se você estiver armazenando em cache as respostas (não é possível com páginas geradas dinamicamente).

    
por 28.02.2012 / 17:54
0

O IE9 não mostra o cabeçalho Content-Encoding: gzip , mesmo que a solicitação seja compactada com gzip; portanto, não confie no MSIE ao verificar se a compactação gzip está ativada.

E também, cuidado com a combinação de codificação MSZ + TLS + gzip + transferência em partes, há alguns bugs como: link

    
por 31.12.2014 / 10:27