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-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
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:
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:
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
Sec-Fetch-Mode
,Sec-Fetch-User
,Sec-Fetch-Dest
Abfrage-Metadatenanforderungen- Schützen Sie Ihre Ressourcen vor Webangriffen mit Fetch Metadata (web.dev)
- Fetch Metadata Request Headers Spielplatz (secmetadata.appspot.com)