Sec-Fetch-Site header

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 fetch metadata request header zeigt die Beziehung zwischen dem Ursprung des Anforderungsinitiators und dem Ursprung der angeforderten Ressource an.

Mit anderen Worten, dieser Header teilt einem Server mit, ob eine Anforderung für eine Ressource vom gleichen Ursprung, der gleichen Site, einer anderen Site oder als "Benutzerinitiierte" Anforderung stammt. Der Server kann diese Information dann verwenden, um zu entscheiden, ob die Anforderung erlaubt werden sollte.

Anforderungen des gleichen Ursprungs würden normalerweise standardmäßig erlaubt werden, aber was für Anforderungen von anderen Ursprüngen geschieht, kann weiter davon abhängen, welche Ressource angefordert wird oder welche Informationen in einem anderen fetch metadata request header stehen. Standardmäßig sollten nicht akzeptierte Anforderungen mit einem 403 Antwortcode abgelehnt werden.

Headertyp Fetch Metadata Request Header
Verbotener Anforderungsheader Ja (Sec- Präfix)
CORS-safelisted 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 Anforderungsinitiator und der Server, der die Ressource hostet, haben eine unterschiedliche Site (z.B. eine Anforderung von "potentially-evil.com" für eine Ressource bei "example.com").

same-origin

Der Anforderungsinitiator und der Server, der die Ressource hostet, haben den gleichen Ursprung (gleiches Schema, Host und Port).

same-site

Der Anforderungsinitiator und der Server, der die Ressource hostet, haben die gleiche Site, einschließlich des Schemas.

none

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

Beispiele

Eine Fetch-Anfrage an https://mysite.example/foo.json, die von einer Webseite auf https://mysite.example (mit dem gleichen Port) stammt, ist eine Anfrage des gleichen Ursprungs. Der Browser generiert den Header Sec-Fetch-Site: same-origin, wie unten gezeigt, und der Server wird die Anfrage normalerweise erlauben:

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

Eine Fetch-Anfrage an die gleiche URL von einer anderen Site, 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

Siehe auch