Neste post irei demonstrar como comprimir conteúdo de texto em suas aplicações web ou Websites, de modo que o tamanho trafegado seja menor e, consequentemente, o tempo de carregamento da sua aplicação também.
Para tal, utilizaremos o arquivo de configuração do servidor Web Apache, o .htaccess. Lembre-se que arquivos como vídeos, músicas e outros arquivos binários, provavelmente já são comprimidos e por geralmente apresentarem um tamanho bem maior que os arquivos texto, iria requerer muito processamento do servidor para comprimi-los novamente, e o ganho com a compressão seria mínimo.
Por este motivo, recomenda-se ativar a compressão apenas em arquivos texto, e principalmente no “Big 3” (HTML, CSS e Javascript).
Ativando compressão com o DEFLATE
Esta é a compressão mais fácil de configurar no servidor e já vem habilitada por padrão. Utiliza menos processamento do servidor que o GZip, mas não compacta tanto como o mesmo.
<IfModule mod_deflate.c>
# Compactar por tipo - html, text, css, xml
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml
# Compactar por tipo - javascript
AddOutputFilterByType DEFLATE application/x-javascript application/javascript text/javascript text/x-js text/x-javascript
# Compactar por extensão
AddOutputFilter DEFLATE js css htm html xml ttf eot
</IfModule>
Ativando compressão com o GZip
O GZip vem ganhando muito espaço hoje em dia na Web devido ao seu grande poder de compressão de dados, diminuindo o tempo de carregamento das páginas drasticamente, principalmente quando falamos de internet móvel (3G) no Brasil, que ainda é muito lenta e precária em vários lugares. Por apresentar um alto nível de compressão, exige mais processamento que o método de compressão DEFLATE.
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl|ttf|eot)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
Comentários (0)
Carregando comentários…