HTTP ETag

ETag (for enhedsmærke , såsom ' enhedsidentifikator ') er et headerfelt introduceret i HTTP 1.1 . Det bruges til at bestemme ændringer i den ønskede ressource og bruges hovedsageligt til cache , dvs. undgå overflødige dataoverførsler.

specifikation

Image
Eksempel på HTTP-header

ETag-værdien er en hvilken som helst tegnstreng indeholdt i anførselstegn, som også kan identificeres W/som en svag ETag med præfikset " ". Den specificerende BNF :

ETag = "ETag" ":" entity-tag
entity-tag = [ weak ] opaque-tag
weak       = "W/"
opaque-tag = quoted-string
Stærk ETag
En stærk ETag kan kun administreres af flere enheder i en ressource, hvis de er helt identiske (bit for bit).
Svag ETag
En svag ETag (identificeret ved et " W/" præfiks) kan bruges af flere enheder af en ressource, hvis de er ækvivalente med hinanden, dvs. adskiller sig ikke markant fra et semantisk synspunkt.

Ofte er genereringen af ​​ETag-værdien baseret på hash af ressourceindholdet eller hvornår den sidst blev ændret.

procedure

Første gang der kræves en ressource, sender serveren en ETag-værdi, der er specifik for denne ressource i ETagoverskriftsfeltet, som gemmes lokalt af klienten sammen med ressourcen. (Fig. 1) Hvis den samme ressource anmodes om igen, sender klienten If-None-Matchden tidligere gemte ETag-værdi i overskriftsfeltet . (Fig. 2) På serversiden sammenlignes den sendte ETag-værdi med den aktuelle, og hvis den stemmer overens, besvares statuskoden 304 . (Fig. 3) I dette tilfælde sendes ressourcens data ikke, og klienten bruger de lokalt gemte data.

Problemer

ETag kan have en negativ indvirkning, hvis den implementeres forkert: Hvis ETag f.eks. Genereres fra inoden på det dokument, der skal leveres, er denne værdi kun gyldig på dette system. Hvis dokumentet nu leveres af flere servere (fx til distribution af serverbelastning ), kan en ny anmodning fra klienten behandles af en anden server med en anden ETag-værdi, hvilket igen resulterer i overførsel af den samme fil på trods af ETags. Af denne grund anbefales det ikke at bruge inoden, når ETag-værdien genereres.

For eksempel skal en hash-værdi af filens indhold eller et unikt versionnummer af filen bruges til at generere ETag .

Derudover kan brugere identificeres ved hjælp af ETag, hvis en webserver genererer klientspecifikke ETags.

Weblinks

Individuelle beviser

  1. Ikke-sletbar cookie tillader browseridentifikation, der er adgang til den 26. november 2013
  2. Brugersporing på nettet: Forsker advarer om snigende sporingsteknologi , der blev åbnet den 29. november 2013