O que os cabeçalhos informam, se ele não estiver retornando "codificação de conteúdo: gzip", provavelmente não está funcionando .. você pode testar da seguinte maneira:
curl -I -H 'Accept-Encoding: gzip,deflate' http://yoursite.com/somefile
Eu coloquei o seguinte no meu arquivo http.conf:
# mod_deflate configuration
<IfModule mod_deflate.c>
# Restrict compression to these MIME types
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/css
# Level of compression (Highest 9 - Lowest 1)
DeflateCompressionLevel 9
# Netscape 4.x has some problems.
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
<IfModule mod_headers.c>
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>
</IfModule>
Meu conteúdo não retorna com um Content-Encoding do tipo gzip, mas me vejo recebendo muito mais 304s e o Etag é anexado com um sufixo + gzip. O mod_deflate está realmente fazendo o seu trabalho? (Desculpe pelo n00b-ishness)
O que os cabeçalhos informam, se ele não estiver retornando "codificação de conteúdo: gzip", provavelmente não está funcionando .. você pode testar da seguinte maneira:
curl -I -H 'Accept-Encoding: gzip,deflate' http://yoursite.com/somefile
Os documentos do apache para AddOutputFilterByType indicam que esta diretiva está obsoleta no Apache httpd 2.1 e mais tarde e nem sempre funciona bem se o Apache não puder determinar o tipo MIME.
Sugiro ativar a compactação usando algo como o seguinte como ponto de partida e, em seguida, adicionar todos os ajustes do navegador e níveis de compactação. Obviamente, você pode querer verificar novamente o httpd.conf para certificar-se de que está realmente carregando mod_deflate. assim também:
<Location />
SetOutputFilter DEFLATE
# Don't compress images
SetEnvIfNoCase Request_URI \.(?:gif|png|jpg|jpeg)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
</Location>
Use cURL como mencionado por Michael Steinfeld para verificar.
Com LogLevel
definido como debug
, mod_deflate registrará seu debug mensagens para ErrorLog
. Todo recurso que está sendo compactado é desconectado. Você pode ver se mod_deflate está trabalhando em tempo real com
tail -f /path/to/error-log | grep deflate
por exemplo,
[Wed Apr 22 05:37:49.742615 2015] [deflate:debug] [pid 22627] mod_deflate.c(849): [client 127.0.0.1:55667] AH01384: Zlib: Compressed 10700 to 2637 : URL /web/js/common.js, referer: http://localhost/index.php
Não é possível adicionar um comentário, pois não tenho reputação suficiente, portanto, estou escrevendo isso como uma resposta.
A resposta original de Michael Steinfeld foi gerar o seguinte erro (no prompt de comando do Windows)
curl: (6) Could not resolve host: gzip,deflate'
Eu resolvi isso removendo o espaço depois dos dois pontos:
curl -I -H 'Accept-Encoding:gzip,deflate' http://yoursite.com/somefile
Tags gzip apache-2.2 mod-deflate