Usar etiquetas para desligar o cache em todos os navegadores? [duplicado]
esta pergunta já tem uma resposta aqui:
- Como controlar o Cache de páginas da web, através de todos os navegadores? 26 respostas
li que quando não tens acesso aos cabeçalhos do servidor web podes desligar a 'cache' usando:
<meta http-equiv="Cache-Control" content="no-store" />
Mas também li que isto não funciona em algumas versões do IE. Existe algum conjunto de etiquetas que desligam o cache em todos os navegadores?
6 answers
Para navegadores web modernos (depois de IE9)
Veja o duplicado listado no topo da página para informações corretas!
Veja a resposta aqui.: Como controlar o Cache de páginas da web, através de todos os navegadores?Para IE9 e antes de
Não copies cegamente isto!
A lista é apenas exemplos de diferentes técnicas, não é para insercao. Se copiado, o segundo substituiria o primeiro e o o quarto iria substituir o terceiro por causa do http-equiv declarações e fracasso com o validador W3C. No máximo, podia-se ter uma de cada declaração http-equiv; pragma, cache-control e vencimento. Estes são completamente desactualizados ao usar navegadores modernos e atualizados. Depois da IE9, pelo menos. O Chrome e o Firefox especificamente não funcionam com estes como seria de esperar, se é que funcionam.
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
Na verdade não os use!
Os cabeçalhos de Caching não são fiáveis nos meta-elementos; para um, qualquer proxies web entre o site e o usuário irá ignorar completamente o. Você deve usar sempre um cabeçalho HTTP real para os cabeçalhos, como Cache-Control e Pragma.
Http://securityevaluators.com/knowledge/case_studies/caching/
Em resumo, de acordo com este artigo, apenas {[[0]} é reconhecido pelo cromo, Firefox e IE. Ou seja, reconhece outros controles, mas cromados e Firefox não.No entanto, os cabeçalhos de cache não são confiáveis em meta elementos; para um, qualquer proxies web entre o site e o usuário irá ignorá-los completamente. Você deve sempre usar um cabeçalho HTTP real para cabeçalhos como Cache-Control e Pragma.
O Pragma é a tua melhor aposta:
<meta http-equiv="Pragma" content="no-cache">
ie
pensa que é um pedido de serviço diferente http
. Isso funcionou comigo, por isso adicionar um excerto de código de programação do lado do servidor para actualizar automaticamente esta marca não faria mal:
<meta http-equiv="expires" content="timestamp">
Tenta usar
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">