Un semplice codice HTML:Come forzare Chrome a non reindirizzare nella cache i reindirizzamenti?
<img src="http://someaddr/image.php">
image.php è uno script che restituisce un reindirizzamento a caso a immagini statiche con tutti i necessari intestazioni no-cache:
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
Location: http://someaddr/random_image_12345.jpg
Il problema: durante la navigazione indietro e inoltrare a questa pagina HTML, Chrome (ultimo win/mac) non riconvalida l'indirizzo http://someaddr/image.php
.
Ho provato a utilizzare i reindirizzamenti 302 e anche 303 (che in RFC ha il requisito più forte di non essere mai stato memorizzato nella cache dal browser). Funziona come un fascino in IE, FireFox, Opera. Aggiorna sempre http://someaddr/image.php
. Ma Chrome no.
Ho persino utilizzato gli Strumenti per sviluppatori in Chrome e sembra che nel registro di rete non venga nemmeno mostrato alcun tentativo (memorizzato nella cache o meno) di recupero dello http://someaddr/image.php
. Registro di rete mostra solo una connessione già a http://someaddr/random_image_12345.jpg
(nella cache). Perché questo è così rotto ...
So che la soluzione semplice ingenuo/di mettere stringa di query in fonte immagine:
<img src="http://someaddr/image.php?refresh={any random number or timestamp}">
Ma non mi piace/non si può usare hack del genere. Ci sono altre opzioni?
Hai provato con 'Scade: -1'? Aggiungi anche "no-store' a pragma –
Scadenza: -1, nessun effetto su Chrome. – thedk
Ho studiato ancora di più il cromo. Ho creato un JavaScript nella pagina, che inserisce dinamicamente lo nel contenuto della pagina. Anche in questo caso Chromes si rifiuta di connettersi all'origine src URL. – thedk