Je stocke les images téléchargées par l'utilisateur dans le datastore de Google App Engine en tant que db.Blob
, comme proposé dans les docs. Je sers ensuite ces images sur /images/.jpg
.
Le serveur envoie toujours une réponse 200 OK
, ce qui signifie que le navigateur doit télécharger la même image plusieurs fois (== plus lent) et que le serveur doit envoyer la même image plusieurs fois (== plus cher).
Comme la plupart de ces images ne changeront probablement jamais, j'aimerais être en mesure de renvoyer une réponse 304 Not Modified
. Je pense à calculer une sorte de hash de l'image lorsque l'utilisateur l'envoie, et ensuite l'utiliser pour savoir si l'utilisateur possède déjà cette image (peut-être envoyer le hash en tant qu' Etag
?)
J'ai trouvé cette réponse et cette réponse qui expliquent assez bien la logique, mais j'ai 2 questions:
- Est-il possible d'envoyer un
Etag
dans Google App Engine? - Quelqu'un a-t-il mis en œuvre une telle logique, et/ou existe-t-il un extrait de code disponible?