O mod_gzip é um módulo que, aplicado ao Apache, pode trazer uma economia de banda enorme dependendo do site que você hospeda. Seu funcionamento é simples, quando o cliente faz uma requisição, o Apache compacta o conteúdo e envia para o browser do cliente, que faz a descompactação economizando assim recursos de banda.
[1] Comentário enviado por fabio em 15/07/2004 - 03:37h
Maneiríssimo o artigo, meus parabéns!!!
Agora, auto-respondendo a primeira dúvida que me surgiu ao ler esse artigo: como o browser descompacta o conteúdo recebido pelo Apache? E se o browser não tiver suporte a compressão?
Resposta: o que acontece é o seguinte, o primeiro contato sempre vem na direção cliente->servidor, pois é o cliente que faz a requisição da página que deseja acessar. Quando essa requisição é feita, alguns cabeçalhos são enviados ao servidor web (qual site, qual página, etc) e de acordo com tais cabeçalhos, o Apache vai decidir se o cliente aceita compressão ou não.
O cabeçalho que o browser envia ao Apache referente a compressão é o seguinte:
Accept-encoding: gzip
ou
Accept-encoding: gzip, deflate
O gzip é o padrão de compressão do módulo mod_gzip, que funciona no Apache 1.3 e 2.0, já o deflate é o padrão sucessor do gzip, mas que só funciona no módulo deflate do Apache 2.0.
Bom, isso tudo é novidade pra mim, espero não ter falado besteira. Vou fazer os testes por aqui, curti muito esse negócio. :P
[3] Comentário enviado por alphainfo em 15/07/2004 - 11:18h
Artigo muito bem documentado, legal. Mais legal ainda foi a iniciativa do Fábio, de explicar uma dúvida que acredito eu, ser a dúvido de todos ao lerem este artigo:
"E se o navegador não suportar essa compressão, a página não será exibida?"
Essa é a dúvida, caríssimos, existe a possibilidade de algum browser não suportar essa compressão? Se não suportar, como ocorre?
[4] Comentário enviado por nunix79 em 15/07/2004 - 12:16h
Todos os Browsers modernos suportam essa compressao, a menos que o cliente use opera 3 e 4, netscape 3, netscape 4, o netscape 4x tem alguns bugs. Agora o que ocorre boa pergunta na documentaçao diz que pode aparecer uma tela branca ou os codigos da pagina.
[5] Comentário enviado por alvares em 15/07/2004 - 12:24h
Eu já usei este recurso e o site fica bala, para ter uma idéia uma página que demorava 40 segundos para carregar carrega em 0(quase 1) segundo, é demais !!!!
[6] Comentário enviado por fabio em 15/07/2004 - 12:52h
Então, mas pelo que li, o Apache só envia o conteúdo comprimido se o browser informar o header: Accept-encoding: gzip. Caso contrário, a página vai normal.
[7] Comentário enviado por nunix79 em 15/07/2004 - 13:29h
Certissimo, lista de browsers que aceitam internet explore 4.0, 5.0, 5.5, 6.0, Netscape 6 e 7, Mozzila 0.9.x e 1.x, Opera 5 e 6, e Lynx 2.6. No internet explore 6.0 já vem setado HTTP 1.1 nao sei as versoes anteriores ja o Netscape 6 e 7 e Moziila 0.9.x e seus sabores ja usam HTTP 1.1 que enviam Accept-encoding: gzip.
Correçao as mensagen que podem aparecer se refere a uns bugs no Netscape 4.x
Existe um parametro que voce configura um requerimento de browser minimo para executar a compressao. Evita problemas com os bugs do Netscape 4.x
mod_gzip_min_http 1001
Neste casoo so se o browser tiver suporte a versao HTTP 1.1 ira ocorrer a compressao, o valor 1000 aceita ambas versoes HTTP 1.0 e HTTP 1.1.
Agora uma duvida o internet explore versoes anteriores a 6.0 o padrão é HTTP 1.0 ?
Se for, so ira desfrutar deste recurso se setar para 1.1.
[8] Comentário enviado por mayconsan em 20/07/2004 - 12:00h
Tentei compilar o modulo mas me retorna o seguinte erro:
mod_gzip.c:8080: warning: return makes pointer from integer without a cast
mod_gzip.c: In function `mod_gzip_compress_file':
mod_gzip.c:8110: warning: passing arg 4 of `ap_log_error' makes integer from pointer without a cast
mod_gzip.c:8110: warning: passing arg 5 of `ap_log_error' from incompatible pointer type
apxs:Error: Command failed with rc=65536
.
make: *** [build] Error 1
[11] Comentário enviado por nunix79 em 20/07/2004 - 23:52h
Então o mod_gzip é para o Apache versoes 1.3.x para versoes 2.0.x você devera usar o deflate, na conclusao tem um link para um tutorial publicado no linuxjournal lá tambem explica como configurar o daflate.
[14] Comentário enviado por allangood em 03/02/2005 - 15:44h
Um problema que eu já tive com o mod_gzip:
Quando um cliente usa o IE, por padrão ele vem configurado para NÃO USAR HTTP 1.1 através de um proxy. O curioso é que ele envia o header "Accept-encoding: gzip", mas não descompacta o conteúdo. Ocorrendo o problema citado pelo Fábio Nunes em 15/07/2004.
[15] Comentário enviado por brunozampaglione em 14/04/2005 - 18:40h
Fui até o site do linux jornal para poder baixar e configurar o modulo deflate para apache 2.0, mas o link do download esta quebrado, algue sabe onde eu posso baixar?
Se isso funcionar vai otimizar meu server em 45%.
To muito bolado com esse artigo.
[16] Comentário enviado por itagildo em 06/01/2006 - 09:16h
a instalacao aparentemente funcionou blz, mas na hora de reiniciar o server apareceu a seguinte mensagem:
Cannot load /usr/lib/apache/1.3/mod_gzip.so into server: /usr/lib/apache/1.3/mod_gzip.so: undefined symbol: top_module