Iniciante Fundamentos

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.