Origin header
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2020.
Der HTTP Origin
Request-Header gibt den Ursprung (Schema, Hostname und Port) an, der die Anfrage verursacht hat.
Zum Beispiel, wenn ein User-Agent Ressourcen anfordern muss, die in einer Seite enthalten sind oder durch ausgeführte Skripte abgerufen werden, könnte 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 "datenschutzempfindlich" oder ein opaker Ursprung (spezifische Fälle sind im Abschnitt Beschreibung aufgeführt).
<scheme>
-
Das verwendete Protokoll. In der Regel ist dies das HTTP-Protokoll oder seine gesicherte Version HTTPS.
<hostname>
-
Der Domain-Name oder die IP-Adresse des Ursprungsservers.
<port>
Optional-
Portnummer, unter der der Server lauscht. Wenn kein Port angegeben ist, wird der Standardport für den angeforderten Dienst aus dem Schema abgeleitet (z.B.
80
für eine HTTP-URL).
Beschreibung
Der Origin
-Header ist dem Referer
-Header ähnlich, gibt aber nicht den Pfad preis und kann null
sein.
Er wird verwendet, um den Sicherheitskontext für die Ursprungsanfrage bereitzustellen, außer in Fällen, in denen die Herkunftsinformationen sensibel oder unnötig wären.
Im Allgemeinen fügen Benutzeragenten den Origin
-Request-Header zu:
- cross-origin-Anfragen hinzu.
- same-origin-Anfragen, außer für
GET
- oderHEAD
-Anfragen (d.h. sie werden zu same-originPOST
,OPTIONS
,PUT
,PATCH
undDELETE
Anfragen hinzugefügt).
Es gibt einige Ausnahmen zu 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 Wert des Origin
-Headers kann in mehreren Fällen null
sein, einschließlich (nicht abschließend):
- Ursprünge, deren Schema nicht
http
,https
,ftp
,ws
,wss
odergopher
ist (einschließlichblob
,file
unddata
). - Cross-origin-Bilder und Mediendaten, einschließlich der in
<img>
,<video>
und<audio>
-Elementen. - Dokumente, die programmgesteuert mit
createDocument()
erstellt wurden, aus einerdata:
-URL generiert wurden oder die keinen Erstellertabrahmen haben. - Weiterleitungen zwischen Ursprüngen.
- Dokumente, die mit der
Content-Security-Policy
-Direktivesandbox
bedient werden, deren Wert nichtallow-same-origin
enthält. - iframes mit einem sandbox-Attribut, dessen Wert nicht
allow-same-origin
enthält. - Antworten, die Netzwerkfehler sind.
Referrer-Policy
ist aufno-referrer
für nicht-cors
-Anfragemodi gesetzt (z.B. normale Formularübermittlungen).
Hinweis:
Es gibt eine detailliertere Auflistung von Fällen, die null
zurückgeben können, 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
Specification |
---|
The Web Origin Concept> # section-7> |
Fetch> # origin-header> |
Browser-Kompatibilität
Loading…