Uma maneira de entender o cache do agente cliente / usuário é visualizar o navegador como implementando um cache intermediário para si mesmo (o que, na verdade, é feito por Cache-Control: private
). Isso abstrai toda a terminologia para padrões simples de solicitação e resposta e, na maioria dos casos, o cache do navegador se comporta da mesma maneira que um proxy ou um cache intermediário. Manter isso em mente é útil ao ler a documentação oficial sobre o assunto no IETF RFC 2616: link .
-
Defina o cabeçalho "Expires" como "Immediately" (que envia
Cache-Control: no-cache
) conforme descrito em link e link . -
Não. Se você não enviar nenhum cabeçalho de Cache-Control, o IIS deverá enviar a versão mais recente do recurso e um cliente deverá reconhecê-lo a partir do cabeçalho Last-Modified ou do ETag.
-
Sua primeira declaração está correta: o envio de
no-cache
instruirá o cliente a solicitar o recurso toda vez, mesmo que já tenha armazenado em cache. Alguns clientes se comportam mal e armazenam esses recursos de qualquer maneira, mas você também pode usarmust-revalidate
para garantir que obtenha uma nova cópia
Quanto às práticas recomendadas, quanto tempo você armazena em cache depende do aplicativo e das necessidades dos usuários. Você sempre pode enviar Cache-Control: must-revalidate
para resolver os problemas mencionados, portanto, não há necessidade de alterar globalmente a expiração do seu cache.