Ho uno script che i siti Web di terze parti utilizzano: /assets/script.js
. Per ovvi motivi, non posso chiedere loro di cambiare il link ogni volta che eseguo il deploy per puntare all'ultima versione impronta digitale della sceneggiatura. Ho riscontrato alcuni problemi di memorizzazione nella cache in cui gli utenti vedono ancora le vecchie versioni di /script.js
. Esistono modi per far sparire la cache direttamente per script.js
anziché script-9dc5afea3571ba2a883a72b0da0bb623.js
?Caching di script di terze parti in Rails 3.1
Ulteriori informazioni: Rails on Passenger + Nginx. Alla ricerca di modi per servire il file script.js
invece se il file stampato con le dita e invalidare la cache su ogni distribuzione.
Ho pensato di aggiungere ETags in base alla revisione del git di distribuzione, ma non ho idea di come farlo. Nginx non ha un supporto ETags integrato. Esistono moduli di terze parti non supportati che eseguono questa operazione. Posso usare add_header Etag="something"
per questo, ma come faccio ad aggiungere la versione git lì.
Altre idee e opzioni?
Grazie!
C'è una soluzione comune per questo - /scripts.js?, ma in alcuni casi potrebbe essere un problema. –
iced
Per chiarire "male in alcuni casi" - non tutti i server/edge location/browser rispettano una stringa di query un invalidatore di cache. –