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-Anforderungsheader gibt den Ursprung (Schema, Hostname und Port) an, der die Anforderung 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, dann kann der Ursprung der Seite in der Anforderung enthalten sein.

Header-Typ Anforderungsheader
Verbotener Anforderungsheader Ja

Syntax

http
Origin: null
Origin: <scheme>://<hostname>
Origin: <scheme>://<hostname>:<port>

Direktiven

null

Der Ursprung ist "datenschutzsensitiv" oder ist ein undurchsichtiger Ursprung, wie in der HTML-Spezifikation definiert (spezifische Fälle sind im Beschreibung-Abschnitt aufgeführt).

<scheme>

Das Protokoll, das verwendet wird. In der Regel handelt es sich um das HTTP-Protokoll oder dessen sichere Version, HTTPS.

<hostname>

Der Domainname oder die IP-Adresse des Ursprungsservers.

<port> Optional

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 preis und kann null sein. Er wird verwendet, um den Sicherheitskontext für die Ursprungsanforderung bereitzustellen, außer in Fällen, in denen die Ursprungsinformationen sensibel oder unnötig wären.

Im Allgemeinen fügen User-Agents den Origin-Anforderungsheader hinzu für:

Es gibt einige Ausnahmen zu den obigen Regeln; zum Beispiel, wenn eine Cross-Origin-GET- oder HEAD-Anforderung im no-cors Mode durchgeführt wird, wird der Origin-Header nicht hinzugefügt.

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 oder gopher ist (einschließlich blob, file und data).
  • Cross-Origin-Bilder und Mediendaten, einschließlich solcher in <img>, <video> und <audio>-Elementen.
  • Dokumente, die programmgesteuert mit createDocument() erstellt wurden, aus einer data:-URL generiert wurden oder keinen Erstellungs-Browsing-Kontext haben.
  • Weiterleitungen über Ursprünge hinweg.
  • Dokumente, die mit der Content-Security-Policy sandbox-Direktive ausgeliefert werden, deren Wert nicht allow-same-origin enthält.
  • iframes mit einem Sandbox-Attribut, dessen Wert nicht allow-same-origin enthält.
  • Antworten, die Netzfehler sind.
  • Referrer-Policy auf no-referrer gesetzt für nicht cors-Anforderungsmodi (z. B. grundlegende Formularübertragungen).

Hinweis: Es gibt eine detailliertere Auflistung von Fällen, die null zurückgeben können, auf Stack Overflow: Wann senden Browser den Origin-Header? Wann setzen Browser den Ursprung auf 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

Siehe auch