Sec-Fetch-Site
Baseline 2023Newly 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-Header Sec-Fetch-Site
fetch metadata request header gibt die Beziehung zwischen dem Ursprungsort des Anforderers und dem Ursprungsort der angeforderten Ressource an.
Mit anderen Worten, dieser Header teilt einem Server mit, ob eine Anforderung für eine Ressource vom gleichen Ursprung, von der gleichen Website, von einer anderen Website oder als "vom Benutzer initiierte" Anforderung stammt. Der Server kann dann diese Information nutzen, um zu entscheiden, ob die Anforderung zulässig sein sollte.
Anforderungen aus demselben Ursprung würden normalerweise standardmäßig zugelassen, aber was bei Anforderungen aus anderen Ursprüngen geschieht, kann zusätzlich davon abhängen, welche Ressource angefordert wird oder von Informationen in einem anderen fetch metadata request header. Anforderungen, die nicht akzeptiert werden, sollten standardmäßig mit einem 403
Antwortcode abgelehnt werden.
Header-Typ | Fetch Metadata Request Header |
---|---|
Verbotener Anfrage-Header | Ja (Sec- Präfix) |
CORS-gesicherter Anfrage-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 Anforderer und der Server, der die Ressource hostet, haben eine unterschiedliche Website (z. B. eine Anforderung von "potentially-evil.com" für eine Ressource bei "example.com").
same-origin
-
Der Anforderer und der Server, der die Ressource hostet, haben denselben origin (gleiches Schema, Host und Port).
same-site
-
Der Anforderer und der Server, der die Ressource hostet, haben dieselbe site, einschließlich des Schemas.
none
-
Diese Anforderung ist eine vom Benutzer initiierte Operation. Zum Beispiel: Eingeben einer URL in die Adressleiste, Öffnen eines Lesezeichens oder Ziehen und Ablegen einer Datei in das Browserfenster.
Beispiele
Eine Fetch-Anfrage an https://mysite.example/foo.json
, die von einer Webseite auf https://mysite.example
(mit demselben Port) ausgeht, ist eine same-origin-Anforderung. Der Browser generiert den Header Sec-Fetch-Site: same-origin
, 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 dieselbe URL von einer anderen Seite, z. B. potentially-evil.com
, führt dazu, dass der Browser einen anderen Header generiert (z. B. Sec-Fetch-Site: cross-site
), den der Server annehmen 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
Siehe auch
Sec-Fetch-Mode
,Sec-Fetch-User
,Sec-Fetch-Dest
fetch metadata request headers- Schützen Sie Ihre Ressourcen vor Webangriffen mit Fetch Metadata (web.dev)
- Fetch Metadata Request Headers Spielwiese (secmetadata.appspot.com)