Controlando cache através do navegador
Source: Dev.to
Cache é um mecanismo utilizado para acelerar o acesso a conteúdos frequentemente utilizados.
Ao implementar cache em um sistema, é ideal mantê‑lo o mais próximo possível do cliente, usando o cache dos navegadores para melhorar a velocidade de acesso e reduzir a carga nos servidores.
Cache‑Control
O cabeçalho Cache‑Control permite controlar como o navegador deve armazenar e reutilizar respostas. A seguir, os principais valores que podem ser usados:
default
- Se houver uma versão válida em cache, ela é retornada.
- Se a versão em cache estiver obsoleta, o navegador faz uma requisição condicional ao servidor (e.g.,
If-Modified-Since/ETag).- Se houver alterações, a nova versão é retornada e o cache é atualizado.
- Caso contrário, a versão em cache é reutilizada.
- Se nada for encontrado em cache, a requisição ao servidor é feita normalmente e o cache é preenchido com a resposta.
no-store
- O navegador ignora o cache: a requisição é enviada ao servidor e a resposta não é armazenada.
reload
- O navegador ignora o cache, faz a requisição ao servidor e atualiza o cache com a resposta recebida.
no-cache
- O navegador verifica o cache; se houver uma versão, ele faz uma validação com o servidor.
- Se o servidor indicar que há uma nova versão, esta é retornada e o cache é atualizado.
- Caso contrário, a versão em cache é usada.
force-cache
- O navegador tenta usar o cache primeiro:
- Se encontrar uma versão (mesmo que obsoleta), a retorna.
- Se nada for encontrado, faz a requisição ao servidor, retorna os dados e os armazena no cache.
max-age=
Define, em segundos, por quanto tempo a resposta é considerada fresca. Pode ser combinado com os valores acima. Exemplo:
Cache-Control: max-age=3600
Expires
Além de Cache-Control, o cabeçalho Expires pode ser usado para especificar uma data/hora após a qual a resposta se torna obsoleta:
Expires: Thu, 25 Dec 2025 18:18:18 GMT
A partir do momento especificado, o recurso será considerado expirado e o navegador deverá buscar uma nova versão.
Referências
- (nenhuma referência adicional fornecida)