Ignorar o recurso de cache do servidor em navegadores

1

Anos atrás, eu usei o Lynx (o navegador da Web) . E tinha um recurso interessante: você poderia seguir um link normalmente ou especificar uma cópia não armazenada em cache. Carregamento de link regular ou recarregamento de links. Como o guia dos usuários do Lynx 2.8.6 diz:

The NOCACHE ('x' or 'X') command can be used in lieu of ACTIVATE (Return or right-arrow) to request an uncached copy and new rendition for the current link, or resubmission of a FORM, if a cache from a previous request or submission exits. The request or submission will include Pragma: no-cache and Cache-Control: no-cache in its headers. Note that FORMs with POST content will be resubmitted regardless of whether the NOCACHE or ACTIVATE command is used....

Isso parece um recurso tão óbvio - e, como demonstrado, existe em pelo menos um navegador - que parece surpreendente para mim que o Firefox, o Chrome e a Microsoft não pareçam ter esse recurso (por exemplo, como uma opção de menu de clique direito (ou comando). Na verdade, nem parece haver uma extensão para o Firefox.

Então, minhas perguntas:

  1. Há algo bloqueando a implementação dessa ideia em navegadores gráficos modernos? Alguma razão específica que não pode existir de forma viável nelas, mesmo que seja no Lynx?
  2. Existe algum motivo para esse recurso não ser necessário ou desejado em navegadores gráficos modernos? Em caso afirmativo, esse motivo se aplica ao Lynx?
  3. Como mencionei, não consegui encontrar uma extensão do Firefox ou do Chrome (ou recurso interno) como esse. Existe algum que eu esteja sentindo falta?
por msh210 10.02.2012 / 10:25

2 respostas

2

Meu entendimento é que, quando o seu navegador envia uma solicitação de recursos, ocorre o seguinte (aproximadamente):

  1. O navegador envia uma solicitação para o recurso
  2. O servidor responde com a última vez que o recurso foi modificado
  3. Se esse horário for posterior à versão que o navegador armazenou em cache, o navegador fará o download do recurso novamente.

Se você quiser ver isso acontecendo (em menos detalhes), abra o painel de desenvolvedor no Chrome (usando Ctrl + Deslocamento + J ) e recarregue uma página. Você verá que, mesmo para os recursos que foram armazenados em cache (sob o tamanho, dirão do cache), houve uma solicitação para eles.

Como o navegador atualizará se, e somente se necessário, não há necessidade de forçar um recarregamento de todos os recursos (a exceção é se os dados forem corrompidos de alguma forma e a limpeza do cache puder resolver o problema).

Para responder às suas perguntas em resumo:

  1. Não
  2. Isso vai doer muito, e só muito raramente ajuda (veja acima)
  3. Não que eu possa encontrar, mas se você encontrar esse comportamento causando erros, basta limpar o cache manualmente.

Nota: Eu não estou 100% sobre como os itens 1 e 2 ocorrem acutamente, mas algo que realiza essas duas coisas acontece, embora a implementação possa ser diferente.

    
por 10.02.2012 / 10:34
2

Em pelo menos alguns dos navegadores (IE, Firefox, Chrome, Epiphany) que eu conheço de segurar Shift enquanto clico em Atualizar (ou Shift + F5 ), obriga o navegador a ignorar o cache e solicitar todos os recursos novamente.

Mas você não pode invocar esta opção se a página não estiver ou não estiver carregada.

    
por 10.02.2012 / 10:54