Blogs e Sites

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.

Vamos saber como melhorar o desempenho do site

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:

Melhorar o Desempenho do Site Com Diretivas de Cache

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.

Editor iCloud

A edição do site icloud.com.br é feita pelo administrador do site. Criamos conteúdo para levar conhecimento aos nossos leitores.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo