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 Juli 2020.
Der HTTP Origin Request-Header gibt den Ursprung (Schema, 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 ausgeführte Skripte abgerufen werden, könnte der Ursprung der Seite in der Anfrage enthalten sein.
| Header-Typ | Request-Header |
|---|---|
| Verbotener Request-Header | Ja |
Syntax
Origin: null
Origin: <scheme>://<hostname>
Origin: <scheme>://<hostname>:<port>
Direktiven
null-
Der Ursprung ist "datenschutzempfindlich" oder ein opaker Ursprung (spezifische Fälle sind im Abschnitt Beschreibung aufgeführt).
<scheme>-
Das verwendete Protokoll. In der Regel ist dies das HTTP-Protokoll oder seine gesicherte Version HTTPS.
<hostname>-
Der Domain-Name oder die IP-Adresse des Ursprungsservers.
<port>Optional-
Portnummer, unter der der Server lauscht. Wenn kein Port angegeben ist, wird der Standardport für den angeforderten Dienst aus dem Schema abgeleitet (z.B.
80für eine HTTP-URL).
Beschreibung
Der Origin-Header ist dem Referer-Header ähnlich, gibt aber 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 Herkunftsinformationen sensibel oder unnötig wären.
Im Allgemeinen fügen Benutzeragenten den Origin-Request-Header zu:
- cross-origin-Anfragen hinzu.
- same-origin-Anfragen, außer für
GET- oderHEAD-Anfragen (d.h. sie werden zu same-originPOST,OPTIONS,PUT,PATCHundDELETEAnfragen hinzugefügt).
Es gibt einige Ausnahmen zu den oben genannten Regeln; zum Beispiel, 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 mehreren Fällen null sein, einschließlich (nicht abschließend):
- Ursprünge, deren Schema nicht
http,https,ftp,ws,wssodergopherist (einschließlichblob,fileunddata). - Cross-origin-Bilder und Mediendaten, einschließlich der in
<img>,<video>und<audio>-Elementen. - Dokumente, die programmgesteuert mit
createDocument()erstellt wurden, aus einerdata:-URL generiert wurden oder die keinen Erstellertabrahmen haben. - Weiterleitungen zwischen Ursprüngen.
- Dokumente, die mit der
Content-Security-Policy-Direktivesandboxbedient werden, deren Wert nichtallow-same-originenthält. - iframes mit einem sandbox-Attribut, dessen Wert nicht
allow-same-originenthält. - Antworten, die Netzwerkfehler sind.
Referrer-Policyist aufno-referrerfür nicht-cors-Anfragemodi gesetzt (z.B. normale Formularübermittlungen).
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
Origin: https://big.rakal.top
Origin: https://big.rakal.top:80
Spezifikationen
| Specification |
|---|
| The Web Origin Concept> # section-7> |
| Fetch> # origin-header> |
Browser-Kompatibilität
Loading…