Sono ragionevolmente nuovo al caching del browser. Sto tentando di fare in modo che Chrome memorizzi in modo permanente qualsiasi file statico con un parametro di query (per scopi di busting della cache). Ho impostato le intestazioni di Cache-Control and Expires in modo futuro, il che dovrebbe essere adeguato per dire "cache per sempre". Le intestazioni di risposta liberati:Chrome si rifiuta di memorizzare nella cache Javascript
HTTP/1.1 200 OK Cache-Control: public, max-age=315360000 Connection: keep-alive Content-Encoding: gzip Content-Type: application/x-javascript Date: Wed, 16 Jul 2014 09:29:54 GMT Last-Modified: Wed, 16 Jul 2014 03:44:14 GMT Server: nginx/1.6.0 Transfer-Encoding: chunked Vary: Accept-Encoding
Firefox e Safari sembrano rispettare questo per tutti i file cachebusted (v = parametri di query?). Chrome segue principalmente le direttive, ad eccezione di Javascript. La maggior parte delle volte esegue una richiesta con un'intestazione If-Modified-Since piuttosto che il caricamento dalla cache. A volte uno di essi verrà caricato dalla cache e l'altro produrrà una richiesta risultante in un 304. Di solito quando si carica la pagina da una nuova scheda verrà caricato dalla cache, ma non se si preme invio nella barra degli indirizzi.
ho osservato altri siti web utilizzando quello che penso siano le stesse identiche intestazioni, ei file vengono sempre caricati dalla cache. Alcuni caricano dalla cache anche se si esegue un aggiornamento.
Capisco che il comportamento della cache è alquanto imprevedibile, ma voglio essere sicuro di non supervisionare qualcosa che sta facendo fare a Chrome ciò?