Como faço para impedir que o Chrome envie o Cache-control: max-age = 0 ao apertar enter?

25

Eu estou em uma conexão ligeiramente esquisito e estou tentando melhorar a minha experiência de navegação com o uso de um proxy local. De acordo com minha pesquisa , no entanto, se eu digitar "enter" no meu navegador em um URL existente, ele enviará um Cache-Control: max-age=0cabeçalho para o proxy, que, por sua vez, fará visitas de ida e volta ao servidor para revalidar o conteúdo.

Eu particularmente não quero isso; Se o objeto for obsoleto, o cache irá buscá-lo novamente, mas se não for obsoleto, não vejo por que quero que o objeto seja revalidado a cada momento. Se eu suspeitar que a página é antiga, eu tenho shift-F5 e não tenho medo de usá-la.

Então, há um sintonizador em algum lugar nos bastidores do Chrome que irá desativar esse comportamento irritante?

womble
fonte

Respostas:

23

Descobri que, se você navega até uma página por meio de seu botão de retorno ou de um link, o Chrome não envia o cabeçalho max-age = 0 e normalmente (se o servidor apache do outro lado estiver configurado para armazenamento em cache) use um versão em cache da página.

No entanto, quando você inserir o URL (por exemplo, www.example.com/abcd/index.html) diretamente na barra de endereço e pressionar Return, o Google Chrome sempre enviará o Cache-Control: max-age=0cabeçalho, o que contorna o armazenamento em cache.

Svenny
fonte
5

É possível modificar os cabeçalhos que o Chrome envia para um servidor usando scripts de usuários (ala greasemonkey) ou extensões. Aqui está uma extensão que deve funcionar: ModHeader

De acordo com a introdução e captura de tela, adicionar um cabeçalho como cache-control max-age=1000deveria ser relativamente simples. Ele também suporta listas de permissões de domínio para impedir que cabeçalhos sejam enviados para sites específicos. Pode ser necessário ativar determinadas experiências em chrome: // flags para este trabalho.

demonstração de adicionar cabeçalhos

Jeremy W
fonte
1

Os navegadores se comportam com base nos cabeçalhos de resposta que recebem. Se o navegador receber cabeçalhos de resposta como

Cache-Control: private
Expires: Thu, 01 Jan 1970 00:00:00 UTC

então, o navegador sempre solicitaria com Cache-Control: max-age=0. Isso geralmente acontece com o contêiner do Tomcat, onde os BaseAuthenticatorcabeçalhos de resposta são adicionados quando a variável disableProxyCachingé verdadeira. Se você está enfrentando problema semelhante, você pode visitar este link para solução.

Espero que isso ajude em certa medida :)

Sunil Chakravarthy
fonte