Sec-Fetch-Site

Baseline 2023
Newly available

Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Der HTTP-Sec-Fetch-Site-Header für Abfrage-Metadatenanforderungen gibt an, in welcher Beziehung die Ursprungsquelle eines Anfrageinitiators zur Ursprungsquelle der angeforderten Ressource steht.

Mit anderen Worten, dieser Header teilt einem Server mit, ob eine Anforderung für eine Ressource vom gleichen Ursprung, derselben Seite, einer anderen Seite oder ob es sich um eine "benutzerinitiierte" Anforderung handelt. Der Server kann dann diese Informationen verwenden, um zu entscheiden, ob die Anforderung zulässig ist.

Anfragen aus demselben Ursprung würden normalerweise standardmäßig zugelassen, aber was für Anfragen aus anderen Ursprüngen geschieht, kann weiter davon abhängen, welche Ressource angefordert wird oder welche Informationen in einem anderen Abfrage-Metadatenanforderungsheader enthalten sind. Standardmäßig sollten nicht akzeptierte Anfragen mit einem 403-Antwortcode abgelehnt werden.

Header-Typ Abfrage-Metadatenanforderungsheader
Unzulässiger Anforderungsheader Ja (Sec--Präfix)
CORS-zugelassener Anforderungsheader Nein

Syntax

http
Sec-Fetch-Site: cross-site
Sec-Fetch-Site: same-origin
Sec-Fetch-Site: same-site
Sec-Fetch-Site: none

Direktiven

cross-site

Der Initator der Anfrage und der Server, der die Ressource hostet, besitzen unterschiedliche Seiten (d.h. eine Anfrage von "potentially-evil.com" für eine Ressource bei "example.com").

same-origin

Der Initator der Anfrage und der Server, der die Ressource hostet, haben denselben Ursprung (dasselbe Schema, denselben Host und Port).

same-site

Der Initator der Anfrage und der Server, der die Ressource hostet, haben dieselbe Seite, einschließlich des Schemas.

none

Diese Anfrage ist eine benutzerinitiierte Operation. Zum Beispiel: Eingabe einer URL in die Adressleiste, Öffnen eines Lesezeichens oder Drag-and-Drop einer Datei in das Browserfenster.

Beispiele

Eine Abfrageanforderung an https://mysite.example/foo.json, die von einer Webseite auf https://mysite.example ausgeht (mit dem gleichen Port), ist eine Anfrage aus demselben Ursprung. Der Browser wird den Header Sec-Fetch-Site: same-origin generieren, wie unten gezeigt, und der Server wird die Anfrage typischerweise zulassen:

http
GET /foo.json
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin

Eine Abfrageanforderung an dieselbe URL von einer anderen Seite, zum Beispiel potentially-evil.com, veranlasst den Browser, einen anderen Header zu generieren (z.B. Sec-Fetch-Site: cross-site), den der Server akzeptieren oder ablehnen kann:

http
GET /foo.json
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

Spezifikationen

Specification
Fetch Metadata Request Headers
# sec-fetch-site-header

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch