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-Request-Header gibt den Ursprung (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 durch Skripte abgerufen werden, die er ausführt, kann der Ursprung der Seite in die Anfrage aufgenommen werden.

Header-Typ Request-Header
Verbotener Request-Header Ja

Syntax

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

Direktiven

null

Der Ursprung ist "datenschutzsensibel" oder ein undurchsichtiger Ursprung gemäß der HTML-Spezifikation (spezifische Fälle sind im Beschreibung-Abschnitt aufgeführt).

<scheme>

Das verwendete Protokoll. Üblicherweise ist es das HTTP-Protokoll oder seine gesicherte Version, HTTPS.

<hostname>

Der Domain-Name oder die IP-Adresse des Ursprungsservers.

<port> Optional

Portnummer, an der der Server lauscht. Wird kein Port angegeben, wird der Standardport für den angeforderten Dienst aus dem Scheme abgeleitet (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 Ursprungsanfrage bereitzustellen, außer in Fällen, in denen die Ursprung-Informationen sensibel oder unnötig wären.

Im Allgemeinen fügen Benutzeragenten den Origin-Request-Header hinzu zu:

Es gibt einige Ausnahmen von diesen Regeln; zum Beispiel, wenn eine Cross-Origin-GET- oder HEAD-Anfrage im no-cors mode erstellt wird, wird der Origin-Header nicht hinzugefügt.

Der Origin-Header-Wert kann in mehreren Fällen null sein, einschließlich (nicht abschließend):

  • Ursprungskombinationen, deren Scheme nicht http, https, ftp, ws, wss oder gopher ist (einschließlich blob, file und data).
  • Cross-Origin-Bilder und Mediendaten, einschließlich derer in <img>, <video> und <audio>-Elementen.
  • Dokumente, die programmgesteuert mit createDocument() erstellt wurden, aus einer data:-URL generiert wurden oder die keinen Ersteller-Browserkontext haben.
  • Weiterleitungen über Ursprünge hinweg.
  • iframes mit einem Sandbox-Attribut, das nicht den Wert allow-same-origin enthält.
  • Antworten, die Netzwerkfehler sind.
  • Referrer-Policy eingestellt auf no-referrer für nicht cors-Request-Modi (z.B. grundlegende Formularübermittlungen).

Hinweis: Es gibt eine detailliertere Auflistung von Fällen, die null zurückgeben können, 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

Siehe auch