Melhorar o Desempenho do Site Com Diretivas de Cache

O que todos os proprietários de sites e blogs querem é melhorar o desempenho, para que carregue mais rápido no navegador. Nesta postagem vamos mostrar como melhorar o desempenho do site com diretivas de cache e isso você pode encontrar em toda parte da internet, cada exemplo funciona, mas você deve fazer testes com sua aplicação, seguindo as diretrizes do seu servidor.

Neste caso, nós vamos mostrar, como fazer isso se o site estiver hospedado com servidor Apache e você tiver acesso ao arquivo .htaccess.

Para começar, nós Vamos falar do Cache-Control

O campo de cabeçalho geral Cache-Control é usado para especificar diretrizes para mecanismos de cache em ambos, pedidos e respostas. As diretrizes de cache são unidirecionais, o que significa que uma determinada diretiva em um pedido não implica que a mesma diretiva seja dada na resposta.

O que fazem estes cabeçalhos.

O HTTP 1.1 introduziu uma nova classe de cabe√ßalhos, cabe√ßalhos de Cache-Controlresposta, para dar aos editores da Web mais controle sobre seu conte√ļdo e abordar as limita√ß√Ķes de Expires.

Os Cache-Control cabe√ßalhos de resposta √ļteis incluem:

max-age=[segundos] – especifica a quantidade m√°xima de tempo que uma representa√ß√£o ser√° considerada fresca. Semelhante a Expires, esta diretiva √© relativa ao tempo da solicita√ß√£o, em vez de absoluta. [segundos] √© o n√ļmero de segundos a partir do momento do pedido para o qual deseja que a representa√ß√£o seja fresca.

s-maxage=[segundos] – semelhante a max-age, exceto que ele se aplica apenas a caches compartilhados (por exemplo, proxy).

Public Рmarca respostas autenticadas como cacheáveis; normalmente, se a autenticação HTTP for necessária, as respostas são automaticamente privadas.

Private Рpermite caches específicos de um usuário (por exemplo, em um navegador) para armazenar a resposta; caches compartilhados (por exemplo, em um proxy) podem não.

no-cache – For√ßa caches para enviar a solicita√ß√£o para o servidor de origem para valida√ß√£o antes de liberar uma c√≥pia em cache, de cada vez. Isso √© √ļtil para garantir que a autentica√ß√£o seja respeitada (em combina√ß√£o com o p√ļblico), ou para manter a frescura r√≠gida, sem sacrificar todos os benef√≠cios do cache.

no-store – instrui os caches a n√£o guardar uma c√≥pia da representa√ß√£o sob quaisquer condi√ß√Ķes.

must-revalidate– diz que os caches devem obedecer a qualquer informa√ß√£o espec√≠fica, que voc√™ lhes d√™ sobre uma representa√ß√£o. HTTP permite caches para servir representa√ß√Ķes obsoletas em condi√ß√Ķes especiais. Ao especificar esse cabe√ßalho, voc√™ est√° dizendo ao cache que deseja que siga rigorosamente suas regras.

proxy-revalidate – semelhante a must-revalidate, exceto que ele se aplica apenas a caches de proxy.
Por exemplo:

Expires: Fri, 30 Set 2009 11:20:10 GMT

Módulos de Expiração no servidor Apache.

Essa diretiva define o valor do cabe√ßalho Expires e a diretiva max-age do cabe√ßalho Cache-Control gerado para documentos do tipo especificado. Exemplo: text/html. O segundo argumento define o n√ļmero de segundos, que ser√£o adicionados a um tempo base para construir a data de validade. O Cache-Control: max-age √© calculado subtraindo o tempo de solicita√ß√£o a partir da data de validade e expressando o resultado em segundos.

Defini√ß√Ķes de Expira√ß√Ķes Especificadas:

O tempo base √© a √ļltima hora de modifica√ß√£o do arquivo, ou a hora do acesso do cliente ao documento. O que deve ser usado √© especificado pelo c√≥digo do campo:

  1. M significa que o √ļltimo tempo de modifica√ß√£o do arquivo deve ser usado como o tempo base.
  2. A significa que o tempo de acesso do visitante do site deve ser usado.

A diferença de efeito é sutil.

  • Se M for usado; exemplo: M86400; todas as c√≥pias atuais do documento em todos os caches expirar√£o ao mesmo tempo, o que pode ser bom para algo como uma notifica√ß√£o semanal, que sempre √© encontrada no mesmo URL.
  • Se A for usado; exemplo: A86400; a data de validade √© diferente para cada visitante do site. Isso pode ser bom para arquivos de imagem que n√£o mudam com muita frequ√™ncia, particularmente para um conjunto de documentos relacionados, que se referem √†s mesmas imagens, ou seja , as imagens ser√£o acessadas repetidamente dentro de um per√≠odo de tempo relativamente curto. Fonte Apache.

Exemplo usando .htacess

# habilitando expires
ExpiresActive On
# expire cahe imagens PNG em um mês para usuários
ExpiresByType image/png A2592000
# HTML documents s√£o bons para uma semana de cache
# este tempo muda para todos de uma só vez
ExpiresByType text/html M604800

O uso de idade m√°xima de cache

A porção de idade máxima do cabeçalho parece assim:

max-age = 2592000

A idade máxima é expressa em segundos.

Os valores comuns de idade m√°xima s√£o:

  • Um minuto: idade m√°xima = 60
  • Uma hora: idade m√°xima = 3600
  • Um dia: idade m√°xima = 86400
  • Uma semana: idade m√°xima = 604800
  • Um m√™s: idade m√°xima = 2628000
  • Um ano: idade m√°xima = 31536000

Ao usar a idade máxima para definir os tempos de cache, você deve considerar o tipo de arquivo e como ele é usado. Nós já discutimos isso nos parágrafos acima.


Novo Google PageSpeed ‚Äč‚ÄčInsights est√° mais amig√°vel
O que é DOM em uma página da Web?
O que s√£o fontes do Google e como us√°-las?
10 maneiras de ganhar dinheiro com site
Meta Tags todos os comandos Meta HTML

Deixe uma resposta

O seu endereço de e-mail não será publicado.