0 Compartilhamentos 29 Views 1 Comments

Usando o poder do cache do navegador com .htaccess

A primeira vez em que um visitante entra na sua página, o navegador irá puxar as imagens, o Javascript, o arquivo de CSS, os documentos de Flash, o Favicon, a pia da cozinha e mais além do código HTML. Na segunda vez também. E na terceira. E cada um destes arquivos paralelos é uma requisição HTTP e seu servidor precisa se virar para entregar tudo em tempo hábil. O resultado? A performance sofre, o usuário reclama que o site está lento, o robô do Google classifica a página como “pesada” e seu ranking na busca sai prejudicado.

Como resolver? Com expire headers, ou datas de expiração.

Usando esse truque simples no seu arquivo .htaccess, o servidor saberá quanto deve entregar uma nova versão de um determinado arquivo e quando deverá orientar o navegador a puxar do seu próprio cache. Sim, porque, a menos que o usuário limpe seus arquivos temporários, os navegadores tem uma tendência de ir salvando tudo que visitam. Se o servidor avisar, o navegador usa a versão que já tem das imagens, documentos Javascript, arquivos CSS, Favicon e até da pia da cozinha. Alguns destes elementos podem ficar anos sem serem alterados!

Antes de mais nada, você precisa habilitar as datas de expiração em seu servidor (se ainda não estiver habilitado) através do documento .htacess. É mais simples do que parece:

Uma vez que seu documento .htaccess nada mais é do que texto, basta adicionar as seguintes linhas de código para cada tipo de arquivo:

ExpiresByType image/x-icon "access plus 1 year"

A linha acima irá detectar todos as chamadas para arquivos do tipo ícone, como Favicons, por exemplo, e declarar que eles irão durar por um ano após o primeiro acesso. Este período pode ser meio arriscado, se você está planejando um novo layout, mas é possível usar valores menores para a data de expiração.

Para adicionar uma data de validade para seus arquivos de imagens:

ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"

Para arquivos de CSS e Javascript, você pode utilizar o mesmo prazo ou uma semana, se as alterações forem mais frequentes:

ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 week"

Atenção: se você especificar uma data de expiração no futuro e precisar alterar um destes arquivos, então terá que alterar o nome do arquivo para que o navegador entenda que ele é novo ou vai continuar vendo o arquivo armazenado no cache e tentando entender o que foi que deu errado. É um efeito colateral do ganho de performance, então, cuidado com seus expire headers!

Você pode se interessar

Assistente robótico brasileiro chega ao mercado em 2018
Notícias
Notícias

Assistente robótico brasileiro chega ao mercado em 2018

Carlos L. A. da Silva - 23 de outubro de 2017

Tinbot pode atuar como líder de projeto, recepcionista, tradutor, gerenciador de equipes e caçador de bugs! Confira o vídeo de demonstração!

Microsoft critica segurança do Chrome
Notícias
Notícias

Microsoft critica segurança do Chrome

Carlos L. A. da Silva - 23 de outubro de 2017

Empresa encontrou uma vulnerabilidade no motor de JavaScript do navegador da rival, reportou ao Google, mas, aparentemente, o processo de correção não foi satisfatório.

Google lança programa de recompensa para bugs encontrados em aplicativos de terceiros
Notícias
Notícias

Google lança programa de recompensa para bugs encontrados em aplicativos de terceiros

Carlos L. A. da Silva - 23 de outubro de 2017

Uma falha de segurança encontrada no Tinder para Android pode render US$1000 se comprovada.

One Response

Deixe um Comentário

Your email address will not be published.

Mais publicações

Twitter publica planejamento para combate a abusos
Notícias
5 visualizações
5 visualizações

Twitter publica planejamento para combate a abusos

Carlos L. A. da Silva - 23 de outubro de 2017
Teresópolis sedia primeiro Hackathon da Alterdata
Notícias
4 visualizações
4 visualizações

Teresópolis sedia primeiro Hackathon da Alterdata

Carlos L. A. da Silva - 20 de outubro de 2017
Promoções de Jogos do Final de Semana (20/10)
Notícias
1 visualizações
1 visualizações

Promoções de Jogos do Final de Semana (20/10)

Carlos L. A. da Silva - 20 de outubro de 2017
Iniciativa iamtheCODE promove seu primeiro Hackaton no Brasil
Notícias
1 visualizações
1 visualizações

Iniciativa iamtheCODE promove seu primeiro Hackaton no Brasil

Carlos L. A. da Silva - 20 de outubro de 2017