Cache de arquivos estáticos
O cache permite que o navegador guarde arquivos por um tempo, sem precisar baixá-los de novo a cada visita. Isso acelera o carregamento e reduz o tráfego.
A diretiva expires
A forma mais simples de definir cache é com expires. Ela adiciona cabeçalhos dizendo por quanto tempo o arquivo é válido:
location /assets/ {
expires 30d;
}
Aqui os arquivos da pasta /assets/ ficam em cache por 30 dias.
Cache por tipo de arquivo
É comum aplicar cache longo a imagens, CSS e JavaScript:
location ~* \.(jpg|jpeg|png|gif|css|js|woff2)$ {
expires 1y;
add_header Cache-Control "public";
}
O valor public permite que caches intermediários também guardem o arquivo.
Conteúdo que muda
Para páginas que mudam sempre, desligue o cache:
location = /index.html {
expires -1;
}
O valor -1 diz ao navegador para nunca usar a versão guardada.
Cuidado com versões
Como o cache pode durar muito, mude o nome do arquivo quando ele for atualizado, por exemplo app.v2.js. Assim o navegador busca a versão nova.
Resumo
Use expires para definir a duração do cache e Cache-Control para detalhes. Aplique cache longo a arquivos estáticos e desligue em conteúdo que muda. Versione nomes para forçar atualizações.