Qual é a diferença entre "Recarregar normal", "Recarregar com disco rígido" e "Cache vazio e recarregar com disco rígido" no Chrome?

342

Descobri recentemente esse novo recurso no Chrome:

recarregar opções

Eu posso descobrir a diferença entre a opção 1 e a opção 3, e essa opção 2 é provavelmente algo entre elas, mas não consigo encontrar informações mais precisas em nenhum lugar.

Alguém sabe o comportamento preciso de cada uma das 3 opções?

Samuel Rossille
fonte
17
Você poderia explicar "esse recurso"? Especificamente: como você o acessa? Tentei todos os tipos de cliques com o botão direito, cliques de controle, ... mas não consegui. Que versão é essa?
Joachim Sauer
83
@JoachimSauer Haha, esse é meu pequeno segredo ... Sério, está extremamente bem oculto: você precisa pressionar o botão de atualização sem liberá-lo imediatamente enquanto o console do desenvolvedor está ativo samuelrossille.com/home/blog-chrome-reload-options.html
Samuel Rossille
11
Também aparece clicando no ícone de recarga (enquanto Devtools está aberto)
Costa
7
Isso funciona para o OSX Chrome? Eu não consigo para obtê-lo abrir via Dev Tools e clique direito / clique + hold
nitsujri
6
Acabei de encontrar esses recursos no ano de 2016 por acidente ...
Edwin Yip

Respostas:

439

Recarga normal

A mesma coisa que pressionar F5. Isso usará o cache, mas revalidará tudo durante o carregamento da página, procurando respostas "304 não modificadas". Se o navegador puder evitar o download de arquivos JavaScript em cache, imagens, arquivos de texto etc., ele o fará.


Recarga forçada

Não use nada no cache ao fazer a solicitação. (que é igual a SHIFT+ F5Não é necessário abrir o console do desenvolvedor) Forçar o navegador a baixar novamente todos os arquivos, imagens, arquivos de texto, etc. do JavaScript


Cache vazio e recarregamento total

Obviamente, se o cache estiver vazio, será necessário recarregar com força. Isso forçará novamente o navegador a baixar novamente tudo. No entanto, se a página fizer downloads posteriores via JavaScript que não faziam parte do carregamento da página, eles ainda poderão usar o cache, e é aí que esvaziar o cache ajuda, pois garante que mesmo esses não serão usados arquivos em cache.


Nota : Esse recurso está disponível apenas quando as ferramentas do desenvolvedor estão abertas.

Andrew Rasmussen
fonte
49
Alguém sabe se a terceira opção apenas esvazia o cache do site atual, contra o esvaziamento de todo o cache?
Grin #
10
@Grinn: Na verdade, agora que penso nisso, é provavelmente o cache inteiro. O objetivo desse recurso é limpar os downloads posteriores, que não estão restritos a apenas um "site".
Andrew Rasmussen
13
Não sei ao certo o que é considerado um "after-the-fact download via Javascript"? Alguém pode dar um exemplo concreto?
Costa
4
@ Costa Você pode fazer o download de coisas que não foram especificadas inicialmente no DOM. Por exemplo, adicionando uma nova tag <script> ao seu DOM ou usando o RequireJS etc. Qualquer biblioteca baseada em AMD (como o RequireJS) basicamente carrega seus scripts preguiçosamente. Nesse caso, você precisa esvaziar o cache para garantir que realmente tudo seja recarregado com força.
Domi
16
Deve-se observar que isso funciona se as ferramentas do desenvolvedor estiverem abertas (F12). Seria bom se essa fosse uma configuração que sempre estivesse disponível, independentemente de as ferramentas de desenvolvimento estarem abertas ou não.
scunliffe
4

Isso também funciona no Mac OS X. Abra as ferramentas do desenvolvedor e, no botão recarregar, 1. clique secundário (clique com o botão direito do mouse para destro) ou 2. clique longo, também pressionado para ver o menu.

Além dessa resposta , a recarga forçada frequentemente faz com que proxies, redes de entrega de conteúdo e outros caches remotos sejam atualizados.

insira a descrição da imagem aqui

dcorking
fonte
"O recarregamento intenso geralmente faz com que proxies, redes de entrega de conteúdo e outros caches remotos sejam atualizados." → Você pode fazer backup? Você tem alguma citação explicando por que esse seria o caso? Eu esperava que o Hard Reload recarregasse apenas todo o cache local e não teria efeito adicional em servidores remotos.
Denilson Sá Maia
Eu acho que os navegadores enviam um Cache-Control: no-cachecabeçalho. squid-web-proxy-cache.1019090.n4.nabble.com/… O seu?
precisa saber é o seguinte
11
Eu fiz alguns testes ... Indo para o URL ou usando normal Recarregar enviou 3 cabeçalhos relacionados-cache: Cache-Control: max-age=0, If-Modified-Since, If-None-Match. No entanto, ao fazer o Hard Reload (com ou sem esvaziar o cache), apenas dois cabeçalhos relacionados ao cache foram enviados: Cache-Control: no-cachee Pragma: no-cache. Então, sim, o navegador realmente envia um cabeçalho solicitando aos servidores uma nova versão; cabe aos servidores (incluindo proxies) alterar o comportamento com base nisso.
Denilson Sá Maia
Ótimo! Você pode editar isso na minha resposta ou escrever sua própria resposta. @ DenilsonSáMaia
dcorking 4/18
0

O método a seguir permite limpar o cache apenas para o URL com problemas. Isso me ajudou quando eu estava preso com o cache de redirecionamento http para https.

  1. Abra as ferramentas de desenvolvedor do Chrome, no Windows eu uso F12
  2. Marque Preserve logpara salvar o log antes do redirecionamento
  3. Clique com o botão direito do mouse no URL redirecionado e Clear browser cache

Isso limpará apenas o cache problemático sem afetar o cache normal.

Sohail Ahmed
fonte