ETag / If-None-Match

Architecture 🟡 Mid

Définition

Mécanisme de cache HTTP : le serveur renvoie un ETag (hash du contenu), le client le renvoie dans If-None-Match. Si inchangé, 304 Not Modified.

Analogie

Un numéro de version sur un document : si tu as déjà la dernière version, pas besoin de retelecharger.

Exemple de code

// Reponse serveur
res.setHeader('ETag', '"abc123"');
// Requete client suivante
// If-None-Match: "abc123"
// Serveur: 304 Not Modified (pas de body)

Cas d'usage

Réduire la bande passante et la charge serveur pour les ressources rarement modifiées.

Anti-pattern

Générer un ETag coûteux (hash de tout le body) sur chaque requête — annule le gain.

Termes liés

#architecture#interview#api#performance

En entretien

  1. Comment fonctionne le mécanisme ETag / If-None-Match ?

    Le serveur renvoie un ETag, un hash du contenu, que le client renvoie ensuite dans If-None-Match ; si le contenu est inchangé, le serveur répond 304 Not Modified sans renvoyer le body. C'est l'équivalent d'un numéro de version sur un document : si tu as déjà la dernière version, pas besoin de retélécharger.

  2. Quel piège rend l'ETag contre-productif ?

    Générer un ETag coûteux, comme un hash de tout le body à chaque requête, ce qui annule le gain de performance recherché.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre