O uso da compressão é negociado entre o servidor e o cliente no momento em que ele requisita a página, de forma que você não precisa se preocupar em excluir navegadores móveis ou clientes com browsers antigos. Ao perceber que o cliente não suporta o recurso, o servidor simplesmente envia a página sem compressão.
O uso do deflate aumenta um pouco uso de processamento no servidor, já que ele terá o trabalho de comprimir cada página solicitada antes de enviá-la ao cliente, mas isso é compensado pelo fato de o cliente demorar menos tempo para carregar cada página, o que permite que o servidor mantenha um número menor de instâncias do Apache carregadas na memória, sem contar que o consumo de banda é reduzido consideravelmente.
Do ponto de vista tando do cliente como do servidor, o deflate é bastante benéfico, para o cliente o texto das páginas carrega mais rápido e para o servidor o consumo de banda diminui. Uma página html comprimida pelo deflate fica com, tipicamente, um quarto do tamanho original. Com isso, uma página de 100 KB, que demoraria até 15 segundos para ser carregada por um cliente acessando via modem, passaria a ser carregada em apenas 3 ou 4 segundos. Depois disso, ainda teríamos o tempo de carregamento das imagens e de outros elementos da página.
Nas distribuições derivadas do Debian, o módulo é ativado usando o a2enmod:
# a2enmod deflate
Nas distribuições derivadas do Red Hat, verifique se a linha a seguir está presente dentro da seção "Dynamic Shared Object (DSO) Support" do arquivo "/etc/httpd/conf/httpd.conf". Adicione-a manualmente caso necessário (reinicie o Apache para que a configuração entre em funcionamento):
LoadModule deflate_module modules/mod_deflate.so
Em seguida, vem a configuração do módulo. No Debian, a configuração vai no arquivo "/etc/apache2/mods-available/deflate.conf", enquanto do CentOS e no Fedora é usado o arquivo "/etc/httpd/conf.d/httpd-deflate.conf".
Uma configuração simples, e bastante usada, é fazer com que o deflate comprima apenas arquivos em html, texto puro ou xml, sem tentar comprimir outros tipos de arquivos como imagens, que em teoria já são arquivos compactados. Esta configuração exige uma única linha e é a configuração padrão no Debian:
Outra abordagem é orientar o deflate a comprimir todos os tipos de arquivos, com exceção das imagens em .gif, .png e .jpg. Isso pode ser interessante se, além das páginas html, você disponibiliza arquivos em formatos com baixos índices de compressão, como arquivos .doc ou .xls. Nesse caso, a configuração ficaria:
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
Note que esta configuração deve ser usada apenas em casos específicos, pois ela faz com que o servidor tente comprimir todo tipo de arquivo, incluindo arquivos em formatos já compactados, o que resultará em um grande aumento no uso de processamento, sem que haja uma redução no tamanho dos arquivos.
Uma recomendação geral é incluir exceções para versões antigas dos browsers que não são capazes de negociar a compressão de páginas com o servidor corretamente. Estes navegadores são extremamente raros hoje em dia, por isso mesmo os sites movimentados não recebem mais do que algunhas visitas diárias de clientes utilizando estes navegadores, mas não custa deixar o servidor preparado para atender a esses casos específicos. Para isso, devemos incluir três linhas adicionais na configuração:
AddOutputFilterByType DEFLATE text/html text/plain text/xml
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
I hope you like it !!!
Abs.
Wilton Paulo.
Referências: GdhPress.
0 comentários:
Postar um comentário
Gostou do artigo? Então deixe um comentário !!!