Passer au contenu principal

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.

Voici comment cela fonctionne entre le serveur et le navigateur :

  1. Le navigateur envoie une requête HTTP pour une ressource spécifique sur le serveur.
  2. Le serveur génère une réponse et y attache un entête ETag.
  3. Le serveur envoie la réponse avec l’entête ETag au navigateur.
  4. 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.
  5. 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.
  6. 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.