Sto cercando di capire se riesco a far sì che i browser memorizzino nella cache le immagini con URL firmati.Memorizzazione nella cache di immagini con stringhe di query diverse (URL con firma S3)
Quello che voglio è generare un nuovo URL firmato per ogni richiesta (stessa immagine, ma con una firma aggiornata), ma fare in modo che il browser non lo scarichi nuovamente ogni volta.
Quindi, supponendo che le intestazioni relative alla cache siano impostate correttamente e che l'URL sia lo stesso eccetto per la stringa di query, esiste un modo per rendere il browser in cache?
gli URL sarebbe un aspetto simile:
http://example.s3.amazonaws.com/magic.jpg?WSAccessKeyId=stuff&Signature=stuff&Expires=1276297463
http://example.s3.amazonaws.com/magic.jpg?WSAccessKeyId=stuff&Signature=stuff&Expires=1276297500
Abbiamo in programma di impostare le e-tag di essere un md5sum, così sarà almeno figura fuori è la stessa immagine a quel punto?
La mia altra opzione è quella di tenere traccia di quando l'ultimo ha dato un URL, quindi iniziare a distribuirne di nuovi leggermente prima che scadano i vecchi, ma preferirei non occuparmi delle informazioni sulla sessione.
Sapete se controllerà almeno l'e-tag e non lo scaricherà nuovamente? –
L'intestazione ETag viene inviata dal browser al server solo quando trova il file nella sua cache (e se il file originale aveva un valore ETag). Quindi, se non riesce a trovarlo nella sua cache (che non lo farà se l'URL è cambiato), non c'è alcun valore ETag da inviare nella richiesta. –
La regola di riscrittura degli URL renderebbe quindi inutilizzabile la firma S3, poiché il server Web fornirà automaticamente un collegamento non scaduto. Quindi potresti anche contrassegnare i file in S3 come "pubblici". (Quindi, non è richiesta alcuna firma per accedere ai file) – Tarnschaf