Publique imagens que um proxy compartilhado pode reutilizar
Dê às respostas de imagem reutilizáveis publicamente um tempo de vida de frescor explícito e validadores, e depois interprete um recarregamento do navegador separadamente da reutilização normal do cache.
Para uma resposta de imagem transportada por um cache compartilhado visível em HTTP, publique um tempo de vida explícito e um validador. Quando a imagem pode ser reutilizada com segurança entre usuários, exemplos de cabeçalhos de resposta são:
Cache-Control: public, max-age=604800
ETag: "image-v4"
O tempo de vida é em segundos; 604800 é uma semana. Use public apenas para conteúdo destinado a reutilização entre usuários.
Se o navegador e o proxy compartilhado precisarem de tempos de vida diferentes, o s-maxage fornece o tempo de vida do cache compartilhado. Por exemplo, max-age=3600 com s-maxage=604800 dá ao cache compartilhado o período de frescor mais longo.
Expires é uma data, não uma duração
Expires recebe um carimbo de data e hora no formato de data HTTP. max-age substitui esse campo, e s-maxage tem precedência para caches compartilhados. Gere qualquer data Expires ao produzir a resposta.
Um recarregamento pode pedir validação
Uma solicitação que contém Cache-Control: no-cache exige validação bem-sucedida na origem antes de uma resposta armazenada ser reutilizada. Isso pode acontecer mesmo enquanto a política de frescor comum da resposta permitiria a reutilização.
O validador permite ao cache verificar eficientemente uma imagem inalterada. Uma resposta 304 pode confirmar a representação armazenada sem retransmitir os bytes da imagem a partir da origem. Portanto, o tráfego até a origem não significa, por si só, que o objeto em cache foi descartado.
Compare a reutilização normal e os recarregamentos explícitos ao revisar a política.