Origin
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Der HTTP Origin
Request-Header gibt den Origin (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 von Skripten abgerufen werden, die er ausführt, kann der Origin der Seite in der Anfrage enthalten sein.
Header-Typ | Request-Header |
---|---|
Verbotener Header-Name | Ja |
Syntax
Origin: null
Origin: <scheme>://<hostname>
Origin: <scheme>://<hostname>:<port>
Direktiven
null
-
Der Origin ist "datenschutzsensibel" oder ein undurchsichtiger Origin (opaque origin), wie in der HTML-Spezifikation definiert (spezifische Fälle sind im Beschreibung-Abschnitt aufgeführt).
<scheme>
-
Das verwendete Protokoll. Üblicherweise handelt es sich um das HTTP-Protokoll oder dessen sichere Version HTTPS.
<hostname>
-
Der Domainname oder die IP-Adresse des Origin-Servers.
<port>
Optional-
Die Portnummer, auf der der Server lauscht. Wenn kein Port angegeben ist, wird der Standardport des angeforderten Dienstes anhand des Schemas impliziert (z. B.
80
für eine HTTP-URL).
Beschreibung
Der Origin
-Header ähnelt dem Header Referer
, gibt jedoch nicht den Pfad an und kann null
sein. Er wird verwendet, um den Sicherheitskontext für die Origin-Anfrage bereitzustellen, außer in Fällen, in denen die Origin-Informationen sensibel oder unnötig wären.
Im Allgemeinen fügen User-Agents den Origin
-Request-Header hinzu bei:
- 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 oben genannten Regeln; z. B., 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 verschiedenen Fällen null
sein, einschließlich (nicht abschließend):
- Origins, deren Scheme nicht eines der folgenden ist:
http
,https
,ftp
,ws
,wss
odergopher
(einschließlichblob
,file
unddata
). - Cross-Origin-Bilder und Mediendaten, einschließlich der in
<img>
,<video>
und<audio>
enthaltenen. - Dokumente, die programmatisch mit
createDocument()
erstellt wurden, aus einerdata:
-URL generiert wurden oder die keinen übergeordneten Browsing-Kontext haben. - Umleitungen über verschiedene Origins hinweg.
- iframes mit einem
sandbox
-Attribut, das nicht den Wertallow-same-origin
enthält. - Antworten, die Netzwerkfehler sind.
Referrer-Policy
ist aufno-referrer
eingestellt für Anfragemodi, die nichtcors
sind (z. B. einfache Formularübertragungen).
Hinweis:
Es gibt eine detailliertere Liste von Fällen, in denen der Wert null
zurückgegeben wird, 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 |
Browser-Kompatibilität
BCD tables only load in the browser