ETag
Un ETag identifie une version de représentation d’une ressource HTTP et permet des lectures ou modifications conditionnelles.
Un entity tag est un validateur HTTP transmis dans l’en-tête de réponse ETag. Il identifie une version précise de la représentation envoyée. Sa valeur n’est pas nécessairement un hash du contenu et doit être traitée par le client comme un identifiant opaque, pas comme un numéro de version à trier.
Deux requêtes conditionnelles
Une vue de projet fictive répond avec ETag: "r7". Lors d’un GET ultérieur avec If-None-Match: "r7", le serveur peut renvoyer 304 sans retransmettre le corps si la représentation est inchangée. Si elle a changé, la nouvelle représentation est transférée avec son nouveau validateur.
Pour une modification, le même identifiant joue un autre rôle : une édition utilisant If-Match: "r7" rencontre la représentation désormais courante "r8". La précondition non remplie produit 412 au lieu d’écraser le nouvel état avec l’ancienne édition. L’application doit traiter ce conflit de manière visible. Vérification et modification doivent fonctionner correctement ensemble sur le serveur ; envoyer un en-tête ne protège pas à lui seul.
If-Match utilise une comparaison forte. Un validateur faible avec le préfixe W/ ne satisfait pas cette comparaison. La lecture du cache et le contrôle d’écriture utilisent donc des conditions différentes. Un ETag ne remplace pas non plus le contrôle d’autorisation et ne décide pas qui peut voir ou modifier les données.
Sources
Termes associés
- Cache du navigateurLe cache du navigateur conserve des réponses HTTP adaptées. Réutilisation et revalidation suivent les règles applicables.
- Server-Sent EventsLes Server-Sent Events transmettent du texte du serveur au client par HTTP, par exemple sur l’avancement d’une tâche en arrière-plan.
- Cross-Origin Resource SharingCORS contrôle l’accès du navigateur aux réponses d’une autre origine. Il ne remplace ni la connexion ni la vérification des droits de l’API.
- Échange de données informatiséL’EDI transmet des documents métier structurés entre systèmes. Format, profil du partenaire, correspondance des données et réponses doivent être cohérents.
- Traitement en temps réelLe traitement en temps réel suit un objectif de latence défini. Heure de l’événement, heure de traitement et données tardives exigent des règles explicites.
- Traitement par lotsLe traitement par lots traite en une seule exécution un ensemble délimité de données ou de tâches.
Articles sur le sujet

Votre projet avec ASES
Décrivez-nous votre projet. Nous revenons vers vous avec une première évaluation.
