7. The HTTP Origin Header Field (HTTP Origin-Headerfeld)
7. The HTTP Origin Header Field (HTTP Origin-Headerfeld)
Dieser Abschnitt definiert das HTTP Origin-Headerfeld.
7.1 Syntax
Das Origin-Headerfeld hat die folgende Syntax:
origin = "Origin:" OWS origin-list-or-null OWS
origin-list-or-null = %x6E %x75 %x6C %x6C / origin-list
origin-list = serialized-origin *( SP serialized-origin )
serialized-origin = scheme "://" host [ ":" port ]
; <scheme>, <host>, <port> from RFC 3986
7.2 Semantics (Semantik)
Wenn es in einer HTTP-Anfrage enthalten ist, gibt das Origin-Headerfeld den oder die Ursprünge an, die "verursacht" haben, dass der User-Agent die Anfrage ausgibt, wie von der API definiert, die den User-Agent zur Ausgabe der Anfrage ausgelöst hat.
Betrachten Sie beispielsweise einen User-Agent, der Skripte im Namen von Ursprüngen ausführt. Wenn eines dieser Skripte den User-Agent veranlasst, eine HTTP-Anfrage auszugeben, KANN der User-Agent das Origin-Headerfeld verwenden, um den Server über den Sicherheitskontext zu informieren, in dem das Skript ausgeführt wurde, als es den User-Agent veranlasste, die Anfrage auszugeben.
In einigen Fällen tragen mehrere Ursprünge dazu bei, dass der User-Agent eine HTTP-Anfrage ausgibt. In diesen Fällen KANN der User-Agent alle Ursprünge im Origin-Headerfeld auflisten. Wenn beispielsweise die HTTP-Anfrage ursprünglich von einem Ursprung ausgegeben, aber später von einem anderen Ursprung umgeleitet wurde, KANN der User-Agent den Server informieren, dass zwei Ursprünge an der Veranlassung des User-Agents zur Ausgabe der Anfrage beteiligt waren.
7.3 User Agent Requirements (User-Agent-Anforderungen)
Der User-Agent KANN ein Origin-Headerfeld in jede HTTP-Anfrage einschließen.
Der User-Agent DARF NICHT mehr als ein Origin-Headerfeld in eine HTTP-Anfrage einschließen.
Immer wenn ein User-Agent eine HTTP-Anfrage aus einem "datenschutzsensiblen" Kontext ausgibt, MUSS der User-Agent den Wert "null" im Origin-Headerfeld senden.
HINWEIS: Dieses Dokument definiert nicht den Begriff des datenschutzsensiblen Kontexts. Anwendungen, die HTTP-Anfragen generieren, können Kontexte als datenschutzsensibel bezeichnen, um Einschränkungen aufzuerlegen, wie User-Agents Origin-Headerfelder generieren.
Beim Generieren eines Origin-Headerfelds MUSS der User-Agent die folgenden Anforderungen erfüllen:
-
Jede der
serialized-origin-Produktionen in der Grammatik MUSS die ASCII-Serialisierung eines Ursprungs sein. -
Keine zwei aufeinanderfolgenden
serialized-origin-Produktionen in der Grammatik können identisch sein. Insbesondere, wenn der User-Agent zwei aufeinanderfolgende serialisierte Ursprünge generieren würde, DARF der User-Agent den zweiten NICHT generieren.