Qual é a diferença entre as diretivas de controle de cache: sem cache e sem armazenamento?
A diretiva sem cache em uma resposta indica que a resposta não deve ser usada para atender a uma solicitação subseqüente, ou seja, o cache não deve exibir uma resposta que tenha essa diretiva definida no cabeçalho, mas deve permitir que o servidor atenda à solicitação. A diretiva sem cache pode incluir alguns nomes de campo; nesse caso, a resposta pode ser mostrada no cache, exceto pelos nomes de campos especificados que devem ser veiculados no servidor. A diretiva sem armazenamento se aplica a toda a mensagem e indica que o cache não deve armazenar nenhuma parte da resposta ou qualquer solicitação que a solicite.
Estou totalmente seguro com essas diretivas?
Não. Mas, geralmente, use o Cache-Control: no-cache, no-store e Pragma: no-cache, além de Expira em: 0 (ou uma data GMT suficientemente antiga, como na época do UNIX). Tipos de conteúdo não html, como pdf, documentos do Word, planilhas do Excel, etc. geralmente são armazenados em cache, mesmo quando as diretivas de controle de cache acima estão definidas (embora isso varie por versão e uso adicional de revalidação obrigatória, verificação prévia = 0, verificação posterior) = 0, idade máxima = 0 e s-maxage = 0 na prática às vezes podem resultar pelo menos na exclusão do arquivo após o fechamento do navegador, em alguns casos devido a peculiaridades do navegador e implementações HTTP). Além disso, o recurso 'preenchimento automático' permite que um navegador armazene em cache o que o usuário digitar no campo de entrada de um formulário. Para verificar isso, a tag de formulário ou as tags de entrada individuais devem incluir o atributo 'Autocomplete = "Off"'. Contudo,
no-cache
não significa o que você pensa que faz. Na verdade, significa "revalidar".