Come faccio a interrompere l'invio di Chrome Cache-control: max-age = 0 quando premo invio?


27

Sono su una connessione leggermente instabile e sto cercando di migliorare la mia esperienza di navigazione con l'uso di un proxy locale. Secondo la mia ricerca , tuttavia, se premo 'invio' nel mio browser su un URL esistente, invierà Cache-Control: max-age=0un'intestazione al proxy, che a sua volta effettuerà viaggi di andata e ritorno sul server per riconvalidare il contenuto.

Non lo voglio particolarmente; se l'oggetto è stantio, la cache lo recupererà di nuovo, ma se non è stantio non vedo il motivo per cui vorrei che l'oggetto fosse riconvalidato ogni volta. Se sospetto che la pagina sia vecchia, ho shift-F5 e non ho paura di usarla.

Quindi, c'è un sintonizzatore da qualche parte dietro le quinte in Chrome che disattiverà questo comportamento fastidioso?

Risposte:


25

Ho scoperto che se si accede a una pagina tramite il pulsante Indietro o un collegamento, Chrome non invia l'intestazione max-age = 0 e di solito (se il server Apache sull'altro lato è configurato per la memorizzazione nella cache) utilizzerà un versione cache della pagina.

Tuttavia, quando inserisci l'URL (ad es. Www.example.com/abcd/index.html) direttamente nella barra degli indirizzi e poi premi Return, Chrome invierà sempre l' Cache-Control: max-age=0intestazione, che elude la memorizzazione nella cache.


5

È possibile modificare le intestazioni che Chrome invia a un server Web utilizzando script utente (ala greasemonkey) o estensioni. Ecco un'estensione che dovrebbe funzionare: ModHeader

Secondo l'introduzione e lo screenshot, l'aggiunta di un'intestazione come cache-control max-age=1000dovrebbe essere relativamente semplice. Supporta anche le whitelist di dominio per impedire che le intestazioni vengano inviate a siti Web specifici. Potrebbe essere necessario abilitare alcuni esperimenti in chrome: // flags per questo lavoro.

demo di aggiunta di intestazioni


1

I browser si comportano in base alle intestazioni di risposta che ricevono. Se il browser riceve le intestazioni di risposta come

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

quindi, il browser lo richiederebbe sempre con Cache-Control: max-age=0. Questo di solito accade con il contenitore Tomcat, dove BaseAuthenticatoraggiunge queste intestazioni di risposta quando la variabile disableProxyCachingè vera. Se hai problemi simili, puoi visitare questo link per la soluzione.

Spero che questo aiuti in una certa misura :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.