Existe um padrão para quais ações F5e Ctrl + F5acionamentos nos navegadores da web?
Certa vez, experimentei o IE6 e o Firefox 2.x. A F5 atualização acionaria uma solicitação HTTP enviada ao servidor com um If-Modified-Since
cabeçalho, enquanto Ctrl + F5não teria esse cabeçalho. No meu entendimento, F5 tentarei utilizar o conteúdo em cache o máximo possível, enquanto Ctrl + F5 pretendemos abandonar todo o conteúdo em cache e apenas recuperar todo o conteúdo dos servidores novamente.
Hoje, porém, notei que em alguns dos navegadores mais recentes (Chrome, IE8) ele não funciona mais dessa maneira. Ambos F5e Ctrl + F5envie o If-Modified-Since
cabeçalho.
Então, como isso deve funcionar, ou (se não houver um padrão), como os principais navegadores diferem na maneira como implementam esses recursos de atualização?
Respostas:
De um modo geral:
F5pode fornecer a mesma página, mesmo que o conteúdo seja alterado, porque pode carregar a página do cache. Mas Ctrl- F5força uma atualização de cache e garante que, se o conteúdo for alterado, você obterá o novo conteúdo.
fonte
Depende do navegador, mas eles se comportam de maneiras semelhantes.
Eu testei FF, IE7, Opera e Chrome.
F5geralmente atualiza a página apenas se ela for modificada. O navegador geralmente tenta usar todos os tipos de cache o máximo possível e adiciona um cabeçalho "If-modified-since" à solicitação. O Opera difere enviando um "Cache-Control: no-cache".
CTRL- F5é usado para forçar uma atualização, desconsiderando qualquer cache. O IE7 adiciona um "Cache-Control: no-cache", assim como o FF, que também adiciona "Pragma: no-cache". O Chrome faz um "Se modificado desde" e o Opera ignora a chave.
Se bem me lembro, foi o Netscape que foi o primeiro navegador a adicionar suporte ao controle de cache adicionando "Pragma: No-cache" quando você pressionou CTRL- F5.
Editar: tabela atualizada
A tabela abaixo é atualizada com informações sobre o que acontecerá quando o botão de atualização do navegador for clicado (após uma solicitação de Joel Coehoorn ) e o cabeçalho "max-age = 0" Cache-control-cache.
Tabela atualizada, 27 de setembro de 2010
Versões testadas:
Notas:
A versão 3.0.6 envia I e C, mas a 3.1.6 abre a página em uma nova guia, fazendo uma solicitação normal apenas com "I".
A versão 10.62 não faz nada. 9,61 pode fazer C, a menos que tenha sido um erro de digitação na minha tabela antiga.
Nota sobre o Chrome 6.0.472 : se você fizer uma recarga forçada (como CTRL- F5), ele se comporta como se o URL fosse marcado internamente para sempre fazer uma recarga forçada. A bandeira é limpa se você for para a barra de endereço e pressionar enter.
fonte
Implementei uma página compatível com vários navegadores para testar o comportamento de atualização do navegador (aqui está o código-fonte ) e obter resultados semelhantes a @some, mas para navegadores modernos:
fonte
Pelo menos no Firefox (v3.5), o cache parece estar desativado em vez de simplesmente limpo. Se houver várias instâncias da mesma imagem em uma página, ela será transferida várias vezes. Esse também é o caso das
img
tags que são adicionadas posteriormente via Ajax / JavaScript.Portanto, caso você esteja se perguntando por que o navegador continua baixando o mesmo pequeno ícone algumas centenas de vezes no site Ajax de atualização automática, é porque você carregou a página inicialmente usando CTRL- F5.
fonte
O IE7 / 8/9 parece se comportar de maneira diferente, dependendo de a página ter ou não foco.
Se você clicar na página e CTRL+ F5, "Cache-Control: no-cache" será incluído nos cabeçalhos da solicitação. Se você clicar na barra Localização / Endereço, pressione CTRL+ F5não.
fonte
Quando o usuário pressiona, F5embora uma nova solicitação vá para o servidor da Web e obtenha uma resposta para a solicitação também. Mas quando o cabeçalho de resposta é analisado, verifique as informações necessárias no cache do navegador. Se as informações necessárias no cache não tiverem expirado, elas serão restauradas no próprio cache.
Quando o usuário clica em CTRL- F5mesmo assim, uma nova solicitação vai para o servidor da web e obtém uma resposta. Mas desta vez, quando o cabeçalho de resposta é analisado, não verifica nenhuma informação necessária no cache e traz apenas todas as informações atualizadas do servidor de formulários.
fonte