IE6 e cache
-
09-06-2019 - |
Pergunta
Parece que o IE6 ignora qualquer forma de invalidação de cache enviada por meio de cabeçalhos http. Tentei definir Pragma como No Cache e definir Cache Expiration para a hora atual, mas no IE6, o retorno sempre exibirá uma versão em cache de uma página. estou trabalhando.
Existe um cabeçalho HTTP específico que o IE6 também escuta?
Solução
Cache-Control: private, max-age=0
deveria consertar isso.No ASP clássico isso é feito com Response.Expires=-1
.
Ao testar, lembre-se de que só porque seu servidor está servindo páginas com o cache desativado não significa que o navegador obedecerá quando tiver uma página antiga em cache que foi informada de que estava tudo bem para armazenar em cache.Limpe o cache ou use F5 para forçar o recarregamento da página.
Além disso, para os casos em que o servidor está servindo conteúdo em cache, você pode usar Ctrl+F5 para sinalizar ao servidor para não servi-lo a partir do cache.
Outras dicas
Você deve ser cuidadoso.Se você estiver usando AJAX via XMLHttpRequest (XHR), as "recomendações" de cache definidas no cabeçalho não serão respeitadas pelo IE6.
A correção é anexar um número aleatório às consultas de URL usadas nas solicitações AJAX.Por exemplo:
http://test.com?nonce=0123
Um bom gerador para isso é a função UTC() que retorna um horário único para o navegador do usuário...isto é, a menos que eles mexam no relógio do sistema.
Você já tentou definir uma ETag no cabeçalho?Eles são uma forma bastante confiável de indicar que o conteúdo mudou Especificação w3c & Wikipédia
Além disso, uma maneira um pouco mais grosseira é anexar um parâmetro de string de consulta aleatório à solicitação, como o carimbo de data/hora unix atual.Como eu disse, é bruto, mas o IE6 não é a fera mais sutil
Uma pequena nota:Por experiência, sei que o IE6 carregará o Javascript do cache, mesmo que seja forçado a recarregar a página via ctrl-f5.Portanto, se você estiver trabalhando em Javascript, sempre esvazie o cache.
A barra de ferramentas do desenvolvedor web do IE pode ajudar imensamente com isso.Existe um botão para limpar o cache.
ver Pergunta:Certificar-se de que uma página da web não esteja armazenada em cache em todos os navegadores. Como controlar o cache de páginas da web em todos os navegadores? Acho que isso também deve ajudar com o seu problema.
Conteúdo com "Codificação de conteúdo:gzip" é sempre armazenado em cache, embora você use "Cache-Control:sem cache"
http://support.microsoft.com/kb/321722
Você também pode desativar o gzip apenas para o IE6