ETag
Een ETag identificeert een bepaalde representatieversie van een HTTP-resource en ondersteunt voorwaardelijk lezen of wijzigen.
Een entity tag is een HTTP-validator in de antwoordheader ETag. Hij identificeert een bepaalde versie van de geleverde representatie. De waarde hoeft geen inhoudshash te zijn en moet door de client als een ondoorzichtige identificatie worden behandeld, niet als een sorteerbaar versienummer.
Twee voorwaardelijke aanvragen
Een fictief projectoverzicht antwoordt met ETag: "r7". Bij een latere GET met If-None-Match: "r7" kan de server 304 teruggeven zonder de body opnieuw te sturen als de representatie ongewijzigd is. Is ze veranderd, dan wordt de nieuwe representatie met haar nieuwe validator overgedragen.
Bij een wijziging heeft dezelfde identificatie een andere rol: een bewerking met If-Match: "r7" treft de inmiddels actuele representatie "r8" aan. De niet-vervulde voorwaarde leidt tot 412 in plaats van de nieuwere toestand met de oude bewerking te overschrijven. De toepassing moet dit conflict zichtbaar afhandelen. Controle en wijziging moeten op de server correct samenwerken; alleen een header meesturen beschermt niet.
If-Match gebruikt een sterke vergelijking. Een zwakke validator met het voorvoegsel W/ voldoet niet aan die vergelijking. Een cacheopvraag en schrijfcontrole gebruiken dus verschillende voorwaarden. Een ETag vervangt ook geen bevoegdheidscontrole en bepaalt niet wie de gegevens mag zien of wijzigen.
Bronnen
Verwante begrippen
- BrowsercacheDe browsercache bewaart geschikte HTTP-antwoorden voor later gebruik. Hergebruik en validatie volgen de toepasselijke regels.
- Server-Sent EventsServer-Sent Events verstuurt tekstmeldingen van server naar client via HTTP, bijvoorbeeld over de voortgang van een achtergrondtaak.
- Cross-Origin Resource SharingCORS regelt browsertoegang tot antwoorden van een andere origin. Het vervangt geen API-aanmelding of controle van toegangsrechten.
- Electronic Data InterchangeEDI verstuurt gestructureerde bedrijfsdocumenten tussen systemen. Formaat, partnerprofiel, gegevensmapping en terugmeldingen moeten op elkaar aansluiten.
- RealtimeverwerkingRealtimeverwerking verwerkt binnenkomende gebeurtenissen volgens een vastgelegd latentiedoel. Gebeurtenistijd, verwerkingstijd en late gegevens vragen om regels.
- BatchverwerkingBatchverwerking verwerkt een afgebakende verzameling gegevens of opdrachten samen in één uitvoering.
Artikelen over dit onderwerp

Uw project met ASES
Beschrijf ons uw project. We nemen contact met u op met een eerste inschatting.
