2012-06-14 14 views

risposta

8

Per scopi di sviluppo è possibile utilizzare Ctrl + R o Ctrl + F5, devono non inviare intestazioni di cache quindi richiedendo la risorsa dal server e non dalla cache. Questo è chiamato Hard Refresh.

ma non aspettatevi agli utenti di utilizzare Ctrl + R/F5, se si desidera inviare sempre la risorsa memorizzata nella cache per l'utente, utilizzare Cache buster (Google search for cache buster)

browser Web utilizzano l'URL per determinare se hanno già conoscere la risorsa, quindi accedere allo stesso url farà sì che il browser web verifichi se ha avuto accesso a questo URL prima di permettergli così di inviare un'intestazione specifica della risorsa che ha e di convalidare se la risorsa è stata modificata sul server.

I busting di cache sono come dice il nome utilizzato per eliminare la cache e ricaricare sempre la risorsa. Ecco un esempio per la cache URL sballato:

<script type="text/javascript" src="/static/js/some.js?bust=12356"></script> 

Nota: potrebbe essere qualsiasi nome e non "busto".

Un buon modo per avere sempre un busto unico è l'utilizzo del tempo di epoca Unix (numero di secondi passati dall'1.1.1970, ogni lingua offre alcune funzioni per ottenere quel numero), un'altra soluzione comunemente usata è un numero casuale. In questo modo il browser otterrà sempre la risorsa dal server web.

+0

Non ho fatto obiezioni, ma i collegamenti non sono risposte. Per lo meno metti un esempio di "cache buster" (o per metterlo in parole povere, basta allegare una stringa di query generata a caso all'attributo 'src' che non modifica affatto il file e lo costringe a essere ri-scaricato ogni volta). –

+0

@ Fabrício Matté Grazie per il tuo critico! Cerco sempre di migliorare me stesso e le mie risposte e di restituire alla comunità il più possibile. Ho modificato la mia risposta per avere alcune spiegazioni teoriche di base sulla cache del browser web ed esempi di cache buster. –

+0

La query non è garantita per la cache "bust". Ad esempio, IE continuerà felicemente a pubblicare contenuti memorizzati nella cache se non esplicitamente vietato dalle intestazioni. –

Problemi correlati