Avaliar este artigo :
Este artigo foi útil para si ?
Sim
Não
Vous avez noté 0 étoile(s)
Sommaire
Procédure
Nesta documentação, explicaremos passo a passo como forçar o Varnish e os navegadores a manter seus recursos em cache, mesmo quando eles enviam solicitações Pragma: no-cache ou Cache-Control: no-cache.
Os pacotes de hospedagem compartilhada e cPanel/VPS gerenciados do LWS são baseados na arquitetura :
Navegador ⇄ NGINX (SSL + HTTP/2) ⇄ Cache Varnish ⇄ Apache/PHP-FPM
Quando tudo está corretamente configurado, o Varnish pode ser até 1000 vezes mais rápido do que o acesso direto ao PHP, ao mesmo tempo que alivia o CPU do servidor.
Elemento | Impacto na cache | Como influenciá-lo |
Método | Apenas GET e HEAD são elegíveis | Evitar POSTs para páginas públicas |
Cabeçalhos de resposta Cache-Control, Expires, Pragma | Determinar a duração e o âmbito | Definir através de .htaccess (ver §3) |
Cookies / Set-Cookie | Um cookie presente = sem cache por defeito | Eliminar ou desativar cookies desnecessários |
Estado HTTP | 200, 203, 301, 302, 404, 410 são armazenáveis em cache | Nenhuma ação, mas evite 500! |
Active o módulo mod_headers (é a predefinição no LWS) e coloque o seguinte snippet onde quiser:
Header set Cache-Control "public, max-age=3600, s-maxage=3600, stale-while-revalidate=60, stale-if-error=86400" Header set Expires "Thu, 31 Dec 2037 23:55:55 GMT"
Colocar o mesmo ficheiro .htaccess na pasta "/images/" aplica a regra apenas à pasta "images".
Conjunto de cabeçalhos Cache-Control "public, max-age=2592000, s-maxage=2592000, immutable".
immutable: diz ao navegador que não é necessária qualquer revalidação até o objeto expirar; ideal para ficheiros com versões (style.483bf.css).
3.3 Cache curta para HTML
Conjunto de cabeçalhos Cache-Control "public, max-age=300, s-maxage=600, must-revalidate".
Expira após 5 min do lado do cliente e 10 min do lado do Varnish, depois deve ser validado.
Caso real | Fragmento de .htaccess | Porque é que isto aconteceria? |
Página de destino actualizada de hora a hora | max-age=600, s-maxage=1200 | Os visitantes obtêm dados "quase em direto" sem sobrecarregar o PHP |
CSS/JS com versão | max-age=31536000, imutável | Praticamente sem tráfego no servidor, carregamento instantâneo |
Imagens de produtos de comércio eletrónico | max-age=604800 | Reduz o TTFB, acelera o catálogo |
Back-office / wp-admin | no-store, privado | Evita colocar dados sensíveis na cache partilhada |
curl -X PURGE -H "Host: example.com" https://exemple.com/chemin/ressource.jpg
ban req.http.host == "exemplo.com" && req.url ~ "/images/"
curl -I https://exemple.com/style.css
Veja :
Com o Chrome/Edge: DevTools > Rede > Desativar cache pode simular um primeiro visitante.
A sua cache Varnish está agora sob controlo!
Avaliar este artigo :
Este artigo foi útil para si ?
Sim
Não
1mn leitura
Como posso aceder às estatísticas de visitas ao sítio?
1mn leitura
Como posso ativar o Mod_PageSpeed no meu sítio?
1mn leitura
Como é que utilizo os módulos de cache no LWSPanel?
3mn leitura
Acelere o seu site com o LWS Cache