Qu'est-ce que l'en-tête HTTP Etag ?
L’entête HTTP de réponse ETag est un identifiant unique attribué à une version spécifique d’une ressource. Il optimise l’efficacité des caches et permet d’économiser de la bande passante, car si le contenu n’a pas changé, le serveur Web n’a pas besoin de renvoyer une réponse complète.
- Le navigateur envoie une requête HTTP pour une ressource spécifique sur le serveur.
- Le serveur génère une réponse et y attache un entête
ETag
.
- Le serveur envoie la réponse avec l’entête
ETag
au navigateur.
- Lorsque le navigateur fait une nouvelle requête pour la même ressource, il inclut l’entête
If-None-Match
avec la valeur ETag
qu’il a reçue précédemment.
- Si la ressource n’a pas changé sur le serveur (c’est-à-dire que
ETag
est toujours le même), le serveur renvoie un statut 304 Not Modified sans corps de réponse. Dans ce cas, le navigateur utilise la version de la ressource qu’il a en cache.
- En revanche, si la ressource a changé, le serveur renvoie la nouvelle ressource avec un statut 200 OK et un nouvel entête
ETag
.
Cela permet d’éviter le téléchargement inutile de données si la version en cache du navigateur est la même que celle sur le serveur. C’est un moyen efficace d’optimiser les performances du web.