it-swarm.it

Come posso fare in modo che un browser scarichi una nuova copia di una pagina Web quando ritiene che la sua copia cache sia ancora valida?

A volte quando apporto piccole modifiche a un sito Web, noto che alcuni browser sono testardi nel scaricare di nuovo la pagina. Sia F5 che CTRL-R sono inutili e l'unico modo per risolverlo è passare attraverso le opzioni e dirgli manualmente di svuotare la cache. Ho usato PHP prima di inviare un'intestazione di svuotamento della cache, ma esiste un modo più semplice o migliore?

5
dmsnell

Dipende da cosa è memorizzato nella cache. Se è la pagina principale, l'unico modo per impedire la memorizzazione nella cache è utilizzare l'intestazione HTTP senza cache.

Tuttavia, tieni presente che anche i file JS e CSS sono generalmente memorizzati nella cache. Un trucco per invalidarli quando cambiano utilizzati da molti siti Web, incluso questo, è aggiungere un numero fittizio dopo il '?'. Tutto dopo il '?' viene ignorato dal server Web, ma poiché l'URL cambia, il browser lo scarica sempre di nuovo.

Un esempio tratto da questa stessa pagina: http://sstatic.net/webmasters/all.css?v=ac775b7bd951. "Ac775b7bd951" proviene da Mercurial, il sistema di controllo delle versioni utilizzato. Puoi fare qualcosa di simile con svn (esempio: all.css? Revision = 123).

6
Thomas Bonini

F5 si aggiorna usando la cache. Ctrl-F5 ignorerà la cache. Non sono sicuro, ma sembra che Ctrl-R sia equivalente a F5 piuttosto che Ctrl-F5?

2