Entity Tag
Ein ETag kennzeichnet eine bestimmte Darstellungsversion einer HTTP-Ressource und ermöglicht bedingte Abrufe oder Änderungen.
Ein Entity Tag ist ein HTTP-Validator im Antwortheader ETag. Er kennzeichnet eine bestimmte Version der ausgelieferten Darstellung. Der Wert muss kein Inhalts-Hash sein. Der Client sollte ihn unverändert als Kennung verwenden, statt daraus eine Reihenfolge von Versionen abzuleiten.
Zwei bedingte Anfragen
Eine fiktive Projektübersicht antwortet mit ETag: "r7". Bei einem späteren GET mit If-None-Match: "r7" kann der Server mit 304 ohne erneuten Antwortkörper reagieren, wenn die Darstellung unverändert ist. Hat sie sich geändert, wird die neue Darstellung mit ihrem neuen Validator übertragen.
Bei einer Änderung hat dieselbe Kennung eine andere Aufgabe: Eine Bearbeitung mit If-Match: "r7" trifft inzwischen auf die aktuelle Darstellung "r8". Die nicht erfüllte Vorbedingung führt zu 412, statt den neueren Stand mit der alten Bearbeitung zu überschreiben. Die Anwendung muss diesen Konflikt sichtbar behandeln. Prüfung und Änderung müssen auf dem Server korrekt zusammenwirken; ein mitgesendeter Header allein schützt nicht.
Für If-Match gilt der starke Vergleich. Ein schwacher Validator mit dem Präfix W/ erfüllt diesen Vergleich nicht. Beim Cacheabruf und bei der Schreibprüfung werden also unterschiedliche Bedingungen verwendet. Ein ETag ersetzt außerdem keine Berechtigungsprüfung und entscheidet nicht, wer die Daten sehen oder ändern darf.
Quellen
Verwandte Begriffe
- Browser-CacheDer Browser-Cache speichert geeignete HTTP-Antworten für spätere Nutzung. Wiederverwendung und erneute Prüfung folgen den jeweiligen Regeln.
- Server-Sent EventsServer-Sent Events übertragen über eine HTTP-Verbindung Textmeldungen vom Server zum Client, etwa zum Fortschritt eines Hintergrundauftrags.
- Cross-Origin Resource SharingCORS steuert im Browser die Freigabe von Antworten über Origin-Grenzen. Es ersetzt weder die Anmeldung noch die Berechtigungsprüfung einer API.
- Electronic Data InterchangeEDI überträgt strukturierte Geschäftsdokumente zwischen Systemen. Format, Partnerprofil, Datenzuordnung und Rückmeldungen müssen zusammenpassen.
- EchtzeitverarbeitungEchtzeitverarbeitung verarbeitet eintreffende Ereignisse mit einem festgelegten Latenzziel. Ereigniszeit, Verarbeitungszeit und verspätete Daten müssen geklärt sein.
- StapelverarbeitungStapelverarbeitung verarbeitet eine abgegrenzte Menge von Daten oder Aufträgen gemeinsam in einem Lauf.
Beiträge zum Thema

Ihr Vorhaben mit ASES
Beschreiben Sie uns Ihr Vorhaben. Wir melden uns mit einer ersten Einschätzung.
