Origin
Der HTTP-Origin
-Request-Header gibt den Ursprung (Schema, Hostname und Port) an, der die Anfrage verursacht hat. Wenn ein Benutzeragent beispielsweise 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 einbezogen werden.
Headertyp | Request-Header |
---|---|
Verbotener Headername | Ja |
Syntax
Origin: null
Origin: <scheme>://<hostname>
Origin: <scheme>://<hostname>:<port>
Direktiven
null
-
Der Ursprung ist "datenschutzsensibel" oder ein undurchsichtiger Ursprung, wie in der HTML-Spezifikation definiert (spezifische Fälle sind im Abschnitt Beschreibung 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 Ursprungsservers.
<port>
Optional-
Die Portnummer, auf der der Server hört. Wenn kein Port angegeben ist, wird der Standardport für den angeforderten Dienst aus dem Schema impliziert (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 Benutzeragenten den Origin
-Request-Header zu folgenden Anfragen hinzu:
- Cross-Origin-Anfragen.
- Same-Origin-Anfragen außer bei
GET
oderHEAD
Anfragen (d.h., sie werden zu Same-Origin-POST
,OPTIONS
,PUT
,PATCH
, undDELETE
Anfragen hinzugefügt).
Es gibt einige Ausnahmen von den oben genannten Regeln; zum Beispiel wird der Origin
-Header nicht hinzugefügt, wenn eine Cross-Origin-GET
- oder HEAD
-Anfrage im No-CORS-Modus durchgeführt wird.
Der Origin
-Header-Wert kann in mehreren Fällen null
sein, einschließlich (nicht erschöpfend):
- Ursprünge, deren Schema nicht
http
,https
,ftp
,ws
,wss
odergopher
ist (einschließlichblob
,file
unddata
). - Cross-Origin-Bilder und Mediendaten, einschließlich solche in
<img>
,<video>
und<audio>
Elementen. - Dokumente, die programmgesteuert erstellt werden, indem
createDocument()
verwendet wird, aus einerdata:
-URL generiert wurden oder die keinen Ersteller-Browsing-Kontext haben. - Weiterleitungen über Ursprünge hinweg.
- iframes mit einem Sandbox-Attribut, das nicht den Wert
allow-same-origin
enthält. - Antworten, die Netzfehler sind.
Referrer-Policy
aufno-referrer
gesetzt für nicht-cors
-Request-Modi (z.B., einfache Formularübermittlungen).
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 Ursprung auf null?
Beispiele
Origin: https://developer.mozilla.org
Origin: https://developer.mozilla.org:80
Spezifikationen
Specification |
---|
The Web Origin Concept # section-7 |
Fetch Standard # origin-header |
Browser-Kompatibilität
BCD tables only load in the browser