Origin header
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2020 browserübergreifend verfügbar.
Der HTTP Origin Request-Header gibt den Ursprung (Schema, Hostname und Port) an, der die Anfrage verursacht hat.
Wenn ein User-Agent beispielsweise Ressourcen anfordern muss, die in einer Seite enthalten sind oder von Skripten abgerufen werden, die er ausführt, kann der Ursprung der Seite in der Anfrage enthalten sein.
| Header-Typ | Request-Header |
|---|---|
| Verbotener Request-Header | Ja |
Syntax
Origin: null
Origin: <scheme>://<hostname>
Origin: <scheme>://<hostname>:<port>
Direktiven
null-
Der Ursprung ist "datenschutzsensitiv" oder ein undurchsichtiger Ursprung (spezifische Fälle sind im Beschreibung Abschnitt aufgeführt).
<scheme>-
Das verwendete Protokoll. In der Regel handelt es sich um das HTTP-Protokoll oder seine gesicherte Version, HTTPS.
<hostname>-
Der Domainname oder die IP-Adresse des Ursprungsservers.
<port>Optional-
Portnummer, auf der der Server lauscht. Wenn kein Port angegeben ist, wird der Standardport für den angeforderten Dienst aus dem Schema impliziert (z.B.
80für eine HTTP-URL).
Beschreibung
Der Origin-Header ist dem Referer-Header ähnlich, gibt aber nicht den Pfad an und kann null sein.
Er dient dazu, den Sicherheitskontext für die Ursprungsanfrage bereitzustellen, außer in Fällen, in denen die Ursprungsinformation sensibel oder unnötig wäre.
Im Allgemeinen fügen User-Agents den Origin-Request-Header hinzu zu:
- Cross-Origin Anfragen.
- Same-Origin Anfragen außer
GEToderHEADAnfragen (d.h. sie werden zu Same-OriginPOST,OPTIONS,PUT,PATCHundDELETEAnfragen hinzugefügt).
Es gibt einige Ausnahmen von den oben genannten Regeln; zum Beispiel, wenn eine Cross-Origin GET oder HEAD Anfrage im no-cors Modus gestellt wird, wird der Origin-Header nicht hinzugefügt.
Der Origin-Header-Wert kann in mehreren Fällen null sein, unter anderem (nicht erschöpfend):
- Ursprünge, deren Schema nicht
http,https,ftp,ws,wssodergopherist (einschließlichblob,fileunddata). - Cross-Origin-Bilder und Mediendaten, einschließlich solcher in
<img>,<video>und<audio>Elementen. - Dokumente, die programmatisch mit
createDocument()erstellt wurden, aus einerdata:URL generiert wurden oder die keinen erzeugenden Browsing-Kontext haben. - Umleitungen über Ursprünge hinweg.
- Dokumente, die mit der
Content-Security-PolicysandboxDirektive bedient werden, deren Wertallow-same-originnicht enthält. - iframes mit einem
sandbox-Attribut, dessen Wertallow-same-originnicht enthält. - Antworten, die Netzwerkfehler sind.
- Bestimmte
Referrer-PolicyWerte, für Anfragen, die wederGETnochHEADverwenden und nicht imcorsModus gemacht werden (z.B. grundlegende Formular-Posts). Siehe Auswirkung auf denOrigin-Header für die Richtlinienwerte, die dies auslösen.
Hinweis:
Eine detailliertere Auflistung von Fällen, die möglicherweise null zurückgeben, finden Sie auf Stack Overflow: Wann senden Browser den Origin-Header? Wann setzen Browser den Ursprung auf null?
Beispiele
Origin: https://developer.mozilla.org
Origin: https://developer.mozilla.org:80
Spezifikationen
| Spezifikation |
|---|
| The Web Origin Concept> # section-7> |
| Fetch> # origin-header> |