Entendo que Ctrl+ Atualizar busca conteúdo novo do navegador sem ler o cache. Então, para que serve o Ctrl+ Shift+ Refresh?
Ctrl + O cabeçalho da solicitação de atualização é assim:
Cache-Control : max-age=0
para Ctrl+ Shift+ Atualizar
Pragma : no-cache <br>
Cache-Control : no-cache
Qual é a diferença real?
Respostas:
Ambos são idênticos ao navegador na máquina local. Os cabeçalhos que você mencionou são a única diferença.
O cabeçalho Ctrl + Refresh significa que qualquer servidor de cache ao longo do caminho deve retornar uma cópia nova da página.
Os cabeçalhos Ctrl + Shift + Refresh significam que qualquer servidor de cache ao longo do caminho deve retornar uma cópia nova da página e também não deve armazenar em cache a página para solicitações futuras. Em outras palavras, na próxima vez que a página for solicitada, ela deve usar um cache anterior da página ou solicitar uma cópia nova, mas não deve usá-la.
Pragma: no-cache é a versão HTTP 1.0 do Cache-Control: no-cache. Não há HTTP 1.0 equivalente ao Cache-Control: max-age = 0.
A seção 14 da RFC2616, subseção 9, possui informações relevantes: w3c.org: RFC2616 sec 14.9.1
fonte
Há outra diferença, e uma grande diferença nisso.
Quando você pressiona Ctrl + Atualizar, para cada objeto em cache que tenha um cabeçalho
Last-Modified
ouETag
, o navegador emitirá uma solicitação com um cabeçalhoIf-Modified-Since
ouIf-None-Match
. O servidor pode optar por responder com a304 Not Modified
, sem reenviar nenhum dado (supondo que os dados não sejam, de fato, modificados).Quando você pressiona Ctrl + Shift + Refresh, o navegador não emitirá esses
If-*
cabeçalhos condicionais , deixando ao servidor a opção de enviar os dados novamente.fonte