Memorizzo le immagini caricate dall'utente nel datastore di Google App Engine come db.Blob
, come proposto in the docs. Quindi servo quelle immagini su /images/<id>.jpg
.Inviare un "304 non modificato" per le immagini memorizzate nel datastore
Il server invia sempre una risposta 200 OK
, il che significa che il browser deve scaricare la stessa immagine più volte (== più lentamente) e che il server deve inviare la stessa immagine più volte (== più costoso).
Poiché la maggior parte di quelle immagini probabilmente non cambierà mai, mi piacerebbe essere in grado di inviare una risposta 304 Not Modified
. Sto pensando di calcolare una sorta di hash dell'immagine quando l'utente carica, e poi lo uso per sapere se l'utente ha già questa immagine (forse inviare l'hash come Etag
?)
ho trovato this answer e this answer che spiegare la logica abbastanza bene, ma ho 2 domande:
- e 'possibile inviare una
Etag
in Google App Engine? - Qualcuno ha implementato tale logica e/o è disponibile uno snippet di codice?
Eccellente esempio! ;) –
Ho implementato la mia soluzione in base a questo esempio e tutto funziona correttamente. Grazie a jbochi e Nick! – Emilien