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.

Artigos relacionados