Ho un sistema in cui cache max-age è impostato su 0 e c'è un problema, quando ho apportato alcune modifiche nel mio style.css non riescono le modifiche non appaiono sul client. Il browser utilizzerà la vecchia versione cache di css. Ho una semplice domanda: il nome del file css come style.css? 123 verrà memorizzato nella cache come nuovo?Css file cache
risposta
Sì, l'aggiunta di una stringa di query univoca all'URI della risorsa costringerà il client a recuperare una versione "fresca" (poiché il client non sa che si tratta semplicemente di aggiornamento di una risorsa precedentemente memorizzata nella cache). Questo è noto come impronta digitale e in genere si utilizza un timestamp o un numero di versione incrementale del file CSS.
Google Web Fundamentals ha un grande articolo su HTTP cache optimization. In particolare la sezione intitolata "Annullamento e aggiornare le risposte nella cache:"
Come si ottiene il meglio dei due mondi: la cache sul lato client e gli aggiornamenti rapidi? Si modifica l'URL della risorsa e si forza l'utente a scaricare la nuova risposta ogni volta che il suo contenuto cambia. In genere, lo fai incorporando un'impronta digitale del file o un numero di versione nel suo nome file, ad esempio stile. x234dff .css.
Fare attenzione che l'impronta digitale non deve essere un numero sequenziale. Qualsiasi valore - hash, versione, ecc. - funzionerà finché il rischio di collisioni è limitato.
1) Questo è ciò che è fatto qui su SO, per esempio http://sstatic.net/js/global-login.js?v=12
sì, l'aggiunta di un parametro di querystring in ogni file style.css
lo forza nuovamente nella cache.
perché il browser memorizza nella cache ogni componente statico con il proprio URL, quindi quando url viene modificato, il nuovo file verrà memorizzato nella cache.
Apparentemente, l'utilizzo dei parametri della stringa di query non è corretto. Vedi http://stackoverflow.com/a/13377291/637609 –
si può ingannare il browser a pensare che un nuovo foglio di stile ogni secondo da timestamping vostro CSS:
<link rel="stylesheet" type="text/css" href="style.css?<?php echo date('l jS \of F Y h:i:s A'); ?>" />
che vi darà questa:
<link rel="stylesheet" type="text/css" href="style.css?Thursday 24th of April 2008 04:45:21 PM" />
Tratto da: Can We Prevent CSS Caching?
A quanto pare, l'utilizzo dei parametri della stringa di query non è corretto. Vedi http: // StackOverflow.it/a/13377291/637609 –
È possibile aggiungere una stringa di query univoca, sebbene questa utilizzi la larghezza di banda.
È possibile rinominare il file CSS ogni volta che si apporta una modifica, IE:
main-v1.css main-v2.css main-v3.css
e poi ri-referenza nelle tue pagine Ciò consente di risparmiare larghezza di banda e costringe i browser a ricaricarla.
In che modo 'main.css? V1' userà più larghezza di banda rispetto a' main-v1.css'? (Immagino di aver interpretato erroneamente la tua risposta.) – jensgram
main.css? V1 è in realtà lo stesso, intendevo per il datestamping, lo caricare ogni volta, quando ne hai solo bisogno per caricare quando c'è stata una modifica. Assegnare un nome diverso al file css ad ogni cambiamento o aggiungere una querystring del numero di versione sono i 2 modi migliori. –
Apparentemente, l'utilizzo dei parametri della stringa di query non è corretto. Vedi http://stackoverflow.com/a/13377291/637609 –
- 1. Nome del file CSS Sensibilità alle maiuscole e cache dei file Css
- 2. Memorizzazione nella cache di file JavaScript e CSS specifici
- 3. I file css di @import verranno ancora memorizzati nella cache se il file css padre utilizza querystring
- 4. Carica file manifest cache
- 5. Errori file cache mancanti?
- 6. Apache Caching JS CSS file
- 7. intestazioni cache per css dinamico (generato tramite PHP)
- 8. XHTML in PDF utilizzando il disco volante come cache css
- 9. I file di cache express.static() nella memoria?
- 10. File statico del pallone Cache-Control
- 11. Compressione e memorizzazione nella cache di CSS con PHP
- 12. come memorizzare nella cache css, images e js?
- 13. Un grande file css vs più piccoli file css
- 14. Come impedire ai browser di memorizzare nella cache i file CSS?
- 15. Come gestire la memorizzazione nella cache del tema GWT File CSS
- 16. cache di raggruppamento ASP.NET MVC. (Rilevamento delle modifiche ai file css) (comportamento interno)
- 17. Cache busting immagini che sono collegate all'interno dei file SASS
- 18. Unione di file CSS
- 19. Pulizia di file CSS
- 20. Il browser memorizza nella cache le immagini di sfondo CSS?
- 21. CSS nella cartella App_Theme viene salvato nella cache nel browser
- 22. ezPublish non genera cache CSS (incompatibilità php 5.4?)
- 23. Posso cancellare un particolare file dalla cache di firefox?
- 24. Nginx, disattiva la cache per un file specifico
- 25. Spazio manifest della cache nel nome file
- 26. Disattiva Cache per file specifici con Apache
- 27. Rails - etags vs. page caching (file cache)
- 28. Controllare CMake Cache Variable nel file Toolchain
- 29. Accesso ai file nella cache distribuita hadoop
- 30. Perché un file css importato viene memorizzato in localstorage e non viene aggiornato come un file css collegato?
stai usando server IIS o Apache? –