você está aqui: Home  → Arquivo de Mensagens

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