Abbiamo riscontrato un problema con la memorizzazione nella cache di Chrome di una risorsa sul nostro server Glassfish. Le estensioni e le intestazioni no-cache non vengono inviate e la risorsa (un file SWF di circa 4 MB) viene memorizzata nella cache da Chrome, nonostante la presenza dell'intestazione Last-Modified.Per quanto tempo Google Chrome memorizza nella cache una risorsa se scade e/o le intestazioni no-cache non sono impostate?
A volte Chrome riceve un codice 304 e altre volte semplicemente un 200 (dalla cache). Capisco il 304 - Chrome probabilmente controllerà la data Ultima modifica più recente con la versione cache per decidere. Ma altre volte fa il 200 (dalla cache), che non restituisce alcuna informazione di intestazione e sembra che Chrome stia semplicemente supponendo che il file non sia stato modificato invece di controllare.
Google's own site states il seguente:
HTTP/S supporta la memorizzazione nella cache locale delle risorse statiche dal browser. Alcuni dei browser più recenti (ad es. IE 7, Chrome) utilizzano un euristico per decidere per quanto tempo memorizzare nella cache tutte le risorse che non hanno intestazioni di cache esplicite .
Ma questo non fornisce una risposta definitiva. Questa euristica è pubblicata ovunque? Mi rendo conto che potrebbe non esserci una risposta fissa (come 30 giorni), ma alcune linee guida generali potrebbero essere utili. Inoltre, se si sta impostando Last-Modified, non capisco perché Chrome non si preoccupi di controllarlo prima.
E _è_ pubblicato nella misura in cui la fonte di Chrome è liberamente disponibile. – cdeszaq
ciao - hai trovato ulteriori informazioni su come è determinata questa euristica? Se la logica è effettivamente basata su DEFAULT_CACHE_TIME c'è un URI di Chrome in cui viene visualizzata questa impostazione? – andrew