Google Page Speed: Compressão HTTP no Apache

Google Page Speed: Compressão HTTP no Apache

Durante pesquisas de otimização, encontrei uma ferramenta muito útil para otimizar e acelerar a apresentação do conteúdo de um site para o cliente. Trata-se do Google Page Speed. O Page Speed trabalha integrado com o Firebug, que pode ser instalado como complemento no browser Firefox. O Page Speed atribui uma nota pela performance do site, e sugere várias dicas para otimização, desde remoção de estilo CSS não utilizado, até mesmo a especificação do tamanho de uma imagem dentro de uma tag HTML. Pode não parecer relevante especificar o tamanho de uma imagem, mas o Google tem até uma explicação do porquê fazer isto.

Um dos recursos do Page Speed que iremos citar neste post, é a compressão HTTP no lado do servidor Apache. A maioria dos tópicos na internet, sugerem utilizar compactação Gzip, mas no meu servidor não está habilitado este modulo, então usaremos o módulo deflate, que já vem junto com a instalação básica do Apache, e que atende as nossas necessidades.

Para ativar a compactação deflate para as páginas, vamos criar um arquivo .htaccess na pasta raiz do site.

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript

<Files *.html>
SetOutputFilter DEFLATE
</Files>

<Files *.css>
SetOutputFilter DEFLATE
</Files>

<Files *.xml>
SetOutputFilter DEFLATE
</Files>

<Files *.js>
SetOutputFilter DEFLATE
</Files>

Na primeira linha, habilitamos a compactação deflate para os mime type de arquivos

Nas linhas a seguir, é habilitado o modo deflate para as extensões de arquivos.

Nos printscreen abaixo, podemos ter uma ideia de como era o site antes, e depois, com o deflate ativado.

Podemos visualizar os arquivos all.js e core.min.js como exemplos. O tamanho do arquivo para transferência do arquivo all.js passou de 134 kb para somente 42 kb, redução de 68% no tamanho original. Para o arquivo core.min.js, o tamanho passou de 11 kb para 3 kb, uma redução de 72%.

About the Author

Jeferson da Luz é formado em Análise de Sistemas, especialista em Redes de Computadores. Estudioso do mercado financeiro.