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

http
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:

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 oder gopher (einschließlich blob, file und data).
  • Cross-Origin-Bilder und Mediendaten, einschließlich der in <img>, <video> und <audio> enthaltenen.
  • Dokumente, die programmatisch mit createDocument() erstellt wurden, aus einer data:-URL generiert wurden oder die keinen übergeordneten Browsing-Kontext haben.
  • Umleitungen über verschiedene Origins hinweg.
  • iframes mit einem sandbox-Attribut, das nicht den Wert allow-same-origin enthält.
  • Antworten, die Netzwerkfehler sind.
  • Referrer-Policy ist auf no-referrer eingestellt für Anfragemodi, die nicht cors 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

http
Origin: https://developer.mozilla.org
http
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

Siehe auch