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
Anforderungs-Header gibt den Origin (Schema, Hostname und Port) an, der die Anfrage verursacht hat.
Wenn ein User-Agent zum Beispiel Ressourcen anfordern muss, die in einer Seite enthalten sind oder von Skripten, die er ausführt, abgerufen werden, kann der Origin der Seite in die Anfrage aufgenommen werden.
Header-Typ | Anforderungs-Header |
---|---|
Verbotener Anforderungs-Header | Ja |
Syntax
Origin: null
Origin: <scheme>://<hostname>
Origin: <scheme>://<hostname>:<port>
Direktiven
null
-
Der Origin ist "datenschutzrelevant" oder ein undurchsichtiger Origin, wie in der HTML-Spezifikation definiert (spezifische Fälle sind im Beschreibung-Abschnitt aufgeführt).
<scheme>
-
Das verwendete Protokoll. In der Regel ist es das HTTP-Protokoll oder seine gesicherte Version, HTTPS.
<hostname>
-
Der Domainname oder die IP-Adresse des Origin-Servers.
<port>
Optional-
Portnummer, an der der Server lauscht. Wenn kein Port angegeben wird, wird der Standardport für den angeforderten Dienst aus dem Schema abgeleitet (z. B.
80
für eine HTTP-URL).
Beschreibung
Der Origin
-Header ähnelt dem Referer
-Header, gibt jedoch nicht den Pfad an und kann null
sein.
Er wird verwendet, um den Sicherheitskontext für die Ursprungsanfrage bereitzustellen, außer in Fällen, in denen die Ursprungsinformationen sensibel oder unnötig wären.
Im Allgemeinen fügen User-Agents den Origin
-Anforderungs-Header hinzu zu:
- Cross-Origin-Anfragen.
- Same-Origin-Anfragen, außer bei
GET
- oderHEAD
-Anfragen (d.h. sie werden zu Same-OriginPOST
,OPTIONS
,PUT
,PATCH
undDELETE
-Anfragen hinzugefügt).
Es gibt einige Ausnahmen von den obigen Regeln; zum Beispiel, wenn eine Cross-Origin GET
- oder HEAD
-Anfrage im no-cors Modus durchgeführt wird, wird der Origin
-Header nicht hinzugefügt.
Der Wert des Origin
-Headers kann in einer Reihe von Fällen null
sein, einschließlich (nicht abschließend):
- Origins, 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 keinen Erstellungs-Browsing-Kontext haben. - Redirects über Origins hinweg.
- iframes mit einem "sandbox"-Attribut, das nicht den Wert
allow-same-origin
enthält. - Antworten, die Netzwerkfehler sind.
Referrer-Policy
aufno-referrer
gesetzt für nicht-cors
Anfragemodi (z.B. einfache Formularübertragungen).
Hinweis:
Eine detailliertere Auflistung von Fällen, die null
zurückgeben können, finden Sie auf Stack Overflow: Wann senden Browser den Origin-Header? Wann setzen Browser den Origin 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 |