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 July 2020.
Der HTTP-Origin
-Request-Header gibt den Ursprung (Scheme, 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 Skripte abgerufen werden, die er ausführt, kann der Ursprung der Seite in die Anfrage aufgenommen werden.
Header-Typ | Request-Header |
---|---|
Verbotener Request-Header | Ja |
Syntax
Origin: null
Origin: <scheme>://<hostname>
Origin: <scheme>://<hostname>:<port>
Direktiven
null
-
Der Ursprung ist "datenschutzsensibel" oder ein undurchsichtiger Ursprung gemäß der HTML-Spezifikation (spezifische Fälle sind im Beschreibung-Abschnitt aufgeführt).
<scheme>
-
Das verwendete Protokoll. Üblicherweise ist es das HTTP-Protokoll oder seine gesicherte Version, HTTPS.
<hostname>
-
Der Domain-Name oder die IP-Adresse des Ursprungsservers.
<port>
Optional-
Portnummer, an der der Server lauscht. Wird kein Port angegeben, wird der Standardport für den angeforderten Dienst aus dem Scheme abgeleitet (z.B.
80
für eine HTTP-URL).
Beschreibung
Der Origin
-Header ähnelt dem Referer
-Header, gibt jedoch 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 Ursprung-Informationen sensibel oder unnötig wären.
Im Allgemeinen fügen Benutzeragenten den Origin
-Request-Header hinzu zu:
- Cross-Origin-Anfragen.
- Same-Origin-Anfragen außer für
GET
- oderHEAD
-Anfragen (d.h. sie werden bei Same-OriginPOST
,OPTIONS
,PUT
,PATCH
undDELETE
-Anfragen hinzugefügt).
Es gibt einige Ausnahmen von diesen Regeln; zum Beispiel, wenn eine Cross-Origin-GET
- oder HEAD
-Anfrage im no-cors mode erstellt wird, wird der Origin
-Header nicht hinzugefügt.
Der Origin
-Header-Wert kann in mehreren Fällen null
sein, einschließlich (nicht abschließend):
- Ursprungskombinationen, deren Scheme nicht
http
,https
,ftp
,ws
,wss
odergopher
ist (einschließlichblob
,file
unddata
). - Cross-Origin-Bilder und Mediendaten, einschließlich derer in
<img>
,<video>
und<audio>
-Elementen. - Dokumente, die programmgesteuert mit
createDocument()
erstellt wurden, aus einerdata:
-URL generiert wurden oder die keinen Ersteller-Browserkontext haben. - Weiterleitungen über Ursprünge hinweg.
- iframes mit einem Sandbox-Attribut, das nicht den Wert
allow-same-origin
enthält. - Antworten, die Netzwerkfehler sind.
Referrer-Policy
eingestellt aufno-referrer
für nichtcors
-Request-Modi (z.B. grundlegende Formularübermittlungen).
Hinweis:
Es gibt eine detailliertere Auflistung von Fällen, die null
zurückgeben können, auf Stack Overflow: When do browsers send the Origin header? When do browsers set the origin to null?
Beispiele
Origin: https://developer.mozilla.org
Origin: https://developer.mozilla.org:80
Spezifikationen
Specification |
---|
The Web Origin Concept # section-7 |
Fetch # origin-header |