Base de conhecimento

1000 perguntas frequentes, 500 tutoriais e vídeos explicativos. Aqui, você encontra apenas soluções!

Utilizar cabeçalhos para otimizar o armazenamento em cache dos recursos

Atualização 06/08/2026

Este guia explica como otimizar o armazenamento em cache de recursos web por meio dos cabeçalhos HTTP.

 

Introdução

  • Uma boa estratégia de cache permite melhorar significativamente o desempenho do seu site, evitando a retransmissão desnecessária de arquivos inalterados.
  • O cache web baseia-se em dois mecanismos complementares:
    1. O período de validade do cache (através do cabeçalho Expires), que indica por quanto tempo um recurso pode ser reutilizado sem contactar o servidor.
    2. A validação condicional (através dos cabeçalhos Last-Modified/If-Modified-Since), que permite verificar se um recurso foi alterado antes de ser baixado novamente.

 

Configuração da duração do cache com Expires

O cabeçalho Expires permite especificar um período durante o qual o navegador pode reutilizar diretamente os recursos do seu cache local. Veja como configurá-lo no seu arquivo .htaccess:

  1. Crie ou abra o arquivo .htaccess na raiz do seu site (geralmente em /web ou /sites/domain.xyz).
  2. Adicione a configuração do módulo expires:

    <IfModule mod_expires.c>
  3. Defina os períodos de cache adequados para cada tipo de recurso:

    ExpiresActive On
    ExpiresByType text/html "access plus 1 week"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"

    Estas diretivas significam que:

    • As páginas HTML serão armazenadas em cache durante uma semana.
    • As imagens JPEG, os ficheiros CSS e JavaScript serão armazenados durante um mês.

    Ajuste estes períodos de acordo com a frequência com que os seus recursos são atualizados.

  4. Feche a secção de configuração:

    </IfModule>

 

Validação condicional com Last-Modified

Mesmo quando um recurso expirou no cache, nem sempre é necessário baixá-lo novamente por completo. O mecanismo de validação condicional permite que o navegador verifique se a sua versão em cache ainda está atualizada. Este processo funciona da seguinte forma:

  1. O servidor envia automaticamente um cabeçalho Last-Modified com cada recurso, indicando a data da última modificação.
    • O Apache gerencia isso nativamente para arquivos estáticos – nenhuma configuração adicional é necessária.
  2. Quando o navegador solicita novamente o recurso, ele envia um cabeçalho If-Modified-Since contendo a data que tem em cache:

    GET /resource HTTP/1.1
    Host: www.example.com
    If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT
  3. O servidor compara esta data com a data real de modificação do arquivo:
    • Se o arquivo não foi alterado, ele simplesmente retorna um código 304 Not Modified, economizando assim largura de banda.
    • Se o arquivo foi modificado, ele retorna a nova versão com um código 200 OK.

Esta seção de perguntas frequentes foi útil?