ETag

ETag

ETag (für entity tag, etwa Entitätmarke) ist ein im HTTP 1.1 eingeführtes Header-Feld. Es dient zur Bestimmung von Änderungen an der angeforderten Ressource und wird hauptsächlich zum Caching, also der Vermeidung redundanter Datenübertragungen, verwendet.

Inhaltsverzeichnis

Spezifikation

Der ETag-Wert ist eine beliebige von Anführungszeichen umschlossenen Zeichenkette, die zusätzlich durch das Präfix „W/“ als schwaches ETag gekennzeichnet werden kann. Die spezifizierende BNF dazu:

ETag = "ETag" ":" entity-tag
entity-tag = [ weak ] opaque-tag
weak       = "W/"
opaque-tag = quoted-string
Starker ETag
Ein starker ETag darf nur dann von mehreren Entitäten einer Ressource geführt werden, falls diese absolut identisch (Bit für Bit) sind.
Schwacher ETag
Ein schwacher ETag (durch „W/“-Präfix gekennzeichnet) darf von mehreren Entitäten einer Ressource geführt werden, falls diese zueinander äquivalent sind, sich also semantisch nicht signifikant unterscheiden.

Häufig basiert die Generierung des ETag-Werts auf der systemspezifischen Inode, der Größe sowie des Zeitpunkts der letzten Änderung einer Datei.

Vorgang

Bei der ersten Anfrage einer Ressource sendet der Server einen für diese Ressource spezifischen ETag-Wert im ETag-Header-Feld, der vom Client zusammen mit der Ressource lokal gespeichert wird. Bei einer erneuten Anfrage derselben Ressource sendet der Client in dem Header-Feld If-None-Match den zuvor gespeicherten ETag-Wert mit. Auf der Server-Seite wird nun der gesendete ETag-Wert mit dem aktuellen verglichen und bei Übereinstimmung mit dem Statuscode 304 beantwortet. Die Daten der Ressource werden in diesem Fall nicht mitgeschickt und der Client verwendet die lokal gespeicherten Daten.

Probleme

In bestimmten Situationen kann sich der ETag negativ auswirken. Denn wenn der ETag anhand der Inodes generiert wird, ist dieser Wert nur auf diesem System gültig. Wenn jedoch eine Seite auf mehreren Servern verteilt ist (zwecks Server-Lastverteilung), kann eine erneute Anfrage des Client von einem anderen Server mit einem anderen ETag-Wert verarbeitet werden, was wiederum der Übertragung derselben Datei trotz ETags zufolge hat. Aus diesem Grund wird empfohlen, die Inode bei der Generierung des ETag-Werts außen vor zu lassen.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Etag — can refer to:*HTTP ETag, the HTTP ETag response header *Etags, the Ctags utility that comes with Emacs *NERC Tag, also known as E Tag, a transaction on the North American bulk electricity market *e TAG, an electronic tolling system used on… …   Wikipedia

  • ETAG — Ending Tag Endmarke unter XTP …   Acronyms

  • ETAG — Ending Tag Endmarke unter XTP …   Acronyms von A bis Z

  • HTTP ETag — ETag (für entity tag, etwa Entitätmarke) ist ein im HTTP 1.1 eingeführtes Header Feld. Es dient zur Bestimmung von Änderungen an der angeforderten Ressource und wird hauptsächlich zum Caching, also der Vermeidung redundanter Datenübertragungen,… …   Deutsch Wikipedia

  • HTTP ETag — An ETag (entity tag) is an HTTP response header returned by an HTTP/1.1 compliant web server used to determine change in content at a given URL. When a new HTTP response contains the same ETag as an older HTTP response, the contents are… …   Wikipedia

  • Balise-entité ETag HTTP — La balise entité ETag HTTP[1] ou étiquette d entité (HTTP ETag en anglais) est une partie du protocole de communication HTTP utilisée pour la validation du cache. Notes et références ↑ http://www.btb.termiumplus.gc.ca/tpv …   Wikipédia en Français

  • European Technology Assessment Group — Die European Technology Assessment Group (ETAG) ist ein kooperatives Netzwerk von Forschungseinrichtungen, die Studien im Feld der Technikfolgenabschätzung für das Europäische Parlament durchführen. ETAG Logo Inhaltsverzeichnis …   Deutsch Wikipedia

  • Technikfolgenabschätzung — Das Forschungsgebiet der Technikfolgenabschätzung (engl. Technology Assessment, kurz TA, auch: Technologiefolgenabschätzung oder Technikbewertung) entstand in den 1960er Jahren in den USA und verbreitete sich in den 1970er Jahren in Europa. Die… …   Deutsch Wikipedia

  • List of HTTP header fields — HTTP Persistence · Compression · HTTPS Request methods OPTIONS · GET · HEAD · POST · PUT · DELETE · TRACE · CONNECT Header fields Cookie · ETag · Location · Referer DNT · …   Wikipedia

  • Liste der HTTP-Headerfelder — HTTP Header bzw. HTTP Header Felder (oft synonym genutzt; HTTP Header besitzt allerdings die Mehrdeutigkeit zwischen einem einzelnen Feld des Headerblocks und dem ganzen Headerblock. Hier wird für die Gesamtheit der Headerfelder der Begriff… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”