você está aqui: Home  → Arquivo de Mensagens

Ebook Gratuito: Dá para fazer em Shell?, com o Prof. Julio Neves

Servidor web Apache - Habilitando compactação de dados

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 23 de maio de 2013

O servidor web Apache oferece a possibilidade de fazer a compactação dos dados que trafegam na rede. A taxa de compactação para arquivos texto, que é a maior parte das requisições web, é bastante alta, geralmente superiores a 90%. O uso deste recurso permitirá uma comunicação bem mais rápida e também um uso mais eficiente dos recursos de rede.

Para verificar se um servidor web possui a compactação de dados habilitada, digite:

curl -I -H 'Accept-Encoding: gzip,deflate' http://www.dicas-l.com.br
HTTP/1.1 200 OK 
Date: Tue, 21 May 2013 17:36:40 GMT 
Server: Apache/2.2.17 (Ubuntu) 
X-Powered-By: PHP/5.3.5-1ubuntu7.11 
Content-Type: text/html 
X-Cache: MISS from dominica.acme.org 
Via: 1.1 dominica.ccuec.unicamp.br (squid/3.2.11) 
Connection: keep-alive

Como podemos ver acima, a compactação não está ativa.

Para isto, basta ativar o módulo apache mod_gzip ou mod_deflate.

Em sistemas Debian Gnu/Linux e derivados, como Ubuntu e Linux Mint, para ativar o módulo mod_deflate, use o comando:

% sudo a2enmod deflate
Enabling module deflate.
Run '/etc/init.d/apache2 restart' to activate new configuration!

Como podemos ver, precisamos reiniciar o servidor web Apache.

Isto feito, vamos verificar se a compactação está ativa:

curl -I -H 'Accept-Encoding: gzip,deflate' http://www.dicas-l.com.br
HTTP/1.1 200 OK 
Date: Tue, 21 May 2013 17:38:01 GMT 
Server: Apache/2.2.17 (Ubuntu) 
X-Powered-By: PHP/5.3.5-1ubuntu7.11 
Vary: Accept-Encoding 
»»» Content-Encoding: gzip
Content-Length: 20 
Content-Type: text/html 
X-Cache: MISS from dominica.ccuec.unicamp.br 
Via: 1.1 dominica.ccuec.unicamp.br (squid/3.2.11) 
Connection: keep-alive 

O que buscamos agora é a linha Content-Encoding: gzip, que indica que a compactação está funcionando.

Veja um exemplo de compactação usando os módulos mod_gzip e mod_deflate:

Compressão Tamanho %Compressão
Sem compressão 56380 bytes n/a
Apache 1.3.x/mod_gzip 16333 bytes 29% do tamanho original
Apache 2.0.x/mod_deflate 19898 bytes 35% do tamanho original

Fonte: http://newestindustry.org/2006/10/03/compressing-web-output-using-mod_deflate-and-apache-20x-2/

Este é um recurso suportado pela maioria dos browsers web modernos e sempre que possível deve ser utilizado.

Saiba mais



Veja a relação completa dos artigos de Rubens Queiroz de Almeida