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 Sec-Fetch-Site
Fetch-Metadaten-Anforderungsheader gibt die Beziehung zwischen dem Ursprungsort 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 Website, einer anderen Website stammt oder ob es sich um eine vom Benutzer eingeleitete Anforderung handelt. Der Server kann diese Informationen dann verwenden, um zu entscheiden, ob die Anforderung erlaubt werden soll.
Anforderungen vom gleichen Ursprung würden normalerweise standardmäßig zugelassen, aber was bei Anforderungen von anderen Ursprüngen passiert, kann weiter davon abhängen, welche Ressource angefordert wird oder welche Informationen in anderen Fetch-Metadaten-Anforderungsheadern enthalten sind. Standardmäßig sollten nicht akzeptierte Anfragen mit einem 403
Antwortcode abgelehnt werden.
Header-Typ | Fetch-Metadaten-Anforderungsheader |
---|---|
Verbotener Header-Name | ja (Präfix Sec- ) |
CORS-safelisted request header | nein |
Syntax
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 andere Website (d.h. 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 Website, einschließlich des Schemas.
none
-
Diese Anforderung ist eine vom Benutzer initiierte Operation. Zum Beispiel: Eine URL in die Adressleiste eingeben, ein Lesezeichen öffnen oder eine Datei in das Browserfenster ziehen.
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 same-origin
-Anforderung.
Der Browser generiert den Sec-Fetch-Site: same-origin
Header wie unten gezeigt, und der Server wird die Anforderung typischerweise zulassen:
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 Website, 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:
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
-
Verwandte Header
-
Schützen Sie Ihre Ressourcen vor Webangriffen mit Fetch Metadata (web.dev)
-
Fetch-Metadata-Anforderungsheader-Spielwiese (secmetadata.appspot.com)