Die Begriffe „auf derselben Website“ und „gleicher Ursprung“ werden häufig zitiert, aber oft falsch verstanden. Sie werden beispielsweise im Zusammenhang mit Seitenübergängen, fetch()
-Anfragen, Cookies, Pop-ups, eingebetteten Ressourcen und Iframes verwendet. Auf dieser Seite erfahren Sie, was sie sind und wie sie sich voneinander unterscheiden.
Ursprung

„Origin“ ist eine Kombination aus einem Schema (auch Protokoll genannt, z. B. HTTP oder HTTPS), einem Hostnamen und einem Port (falls angegeben). Bei der URL https://www.example.com:443/foo
ist beispielsweise https://www.example.com:443
der Ursprung.
„Same-origin“ und „cross-origin“
Websites mit derselben Kombination aus Schema, Hostnamen und Port gelten als „gleicher Ursprung“. Alles andere gilt als „mehrere Ursprünge“.
Ursprung A | Herkunft B | „Same-origin“ oder „cross-origin“? |
---|---|---|
https://www.example.com:443 | https://www.evil.com:443 | Mehrere Ursprünge: verschiedene Domains |
https://example.com:443 | Mehrere Ursprünge: verschiedene Subdomains | |
https://login.beispiel.de:443 | Mehrere Ursprünge: verschiedene Subdomains | |
http://www.beispiel.de:443 | Ursprungsübergreifend: verschiedene Schemata | |
https://www.beispiel.de:80 | Mehrere Ursprünge: verschiedene Ports | |
https://www.beispiel.de:443 | Gleicher Ursprung: genaue Übereinstimmung | |
https://www.beispiel.de | Gleicher Ursprung: implizite Portnummer (443) stimmt überein |
Website

Top-Level-Domains (TLDs) wie .com
und .org
sind in der Root-Zone-Datenbank aufgeführt. Im vorherigen
Beispiel ist „website“ eine Kombination aus dem Schema, der TLD und dem Teil der Domain davor (wir nennen ihn TLD+1). Bei der URL https://www.example.com:443/foo
ist https://example.com
die „Website“.
Öffentliche Suffixliste und eTLD
Bei Domains mit Elementen wie .co.jp
oder .github.io
ist die Verwendung von .jp
oder .io
nicht spezifisch genug, um die „Website“ zu identifizieren. Es gibt keine Möglichkeit, die Anzahl der registrierbaren Domains für eine bestimmte TLD algorithmisch zu bestimmen.
Dazu enthält die öffentliche Suffixliste eine Liste öffentlicher Suffixe, die auch als effektive TLDs (eTLDs) bezeichnet werden. Die Liste der eTLDs wird unter publicsuffix.org/list verwaltet.
Um den „Website“-Teil einer Domain zu identifizieren, die eine eTLD enthält, gehen Sie wie im Beispiel mit .com
vor. Nehmen wir https://www.project.github.io:443/foo
als Beispiel: Das Protokoll ist https
, die eTLD ist .github.io
und die eTLD+1 ist project.github.io
. Daher wird https://project.github.io
als „Website“ für diese URL betrachtet.

„auf derselben Website“ und „websiteübergreifend“
Websites mit demselben Protokoll und derselben eTLD+1 werden als „dieselbe Website“ betrachtet. Websites mit einem anderen Protokoll oder einer anderen eTLD+1 sind „websiteübergreifend“.
Ursprung A | Herkunft B | „Auf derselben Website“ oder „Websiteübergreifend“? |
---|---|---|
https://www.example.com:443 | https://www.evil.com:443 | Websiteübergreifend: verschiedene Domains |
https://login.beispiel.de:443 | Auf derselben Website: Unterschiedliche Subdomains spielen keine Rolle | |
http://www.beispiel.de:443 | Websiteübergreifend: verschiedene Schemata | |
https://www.beispiel.de:80 | Auf derselben Website: Unterschiedliche Ports spielen keine Rolle | |
https://www.beispiel.de:443 | Auf derselben Website: genaue Übereinstimmung | |
https://www.beispiel.de | Innerhalb einer Website: Ports spielen keine Rolle |
„Ohne Schema – auf derselben Website“

Die Definition von „auf derselben Website“ wurde geändert, um das URL-Schema als Teil der Website einzubeziehen und zu verhindern, dass HTTP als schwacher Kanal verwendet wird.
Das ältere Konzept „gleicher Website“ ohne Schemavergleich wird jetzt als „gleicher Website ohne Schema“ bezeichnet. http://www.example.com
und https://www.example.com
werden beispielsweise als „ohne Protokoll“ und „auf derselben Website“ betrachtet, aber nicht als „auf derselben Website“, da nur der Teil „eTLD+1“ wichtig ist und das Protokoll nicht berücksichtigt wird.
Ursprung A | Herkunft B | „Ohne Schema, auf derselben Website“ oder „Websiteübergreifend“? |
---|---|---|
https://www.example.com:443 | https://www.evil.com:443 | Websiteübergreifend: verschiedene Domains |
https://login.beispiel.de:443 | Ohne Schema: „Same-Site“ – verschiedene Subdomains spielen keine Rolle | |
http://www.beispiel.de:443 | Schemeless Same-Site: Unterschiedliche Schemes spielen keine Rolle | |
https://www.beispiel.de:80 | Ohne Schema: unterschiedliche Ports spielen keine Rolle | |
https://www.beispiel.de:443 | Ohne Schema, auf derselben Website: genaue Übereinstimmung | |
https://www.beispiel.de | Ohne Schema: Ports spielen keine Rolle |
Prüfen, ob eine Anfrage auf derselben Website, vom selben Ursprung oder websiteübergreifend erfolgt
Alle modernen Browser senden Anfragen mit einem Sec-Fetch-Site
-HTTP-Header.
Der Header hat einen der folgenden Werte:
cross-site
same-site
(bezieht sich auf richtlinienkonforme Same-Site-Angriffe)same-origin
none
Anhand des Werts von Sec-Fetch-Site
können Sie feststellen, ob die Anfrage auf derselben Website, demselben Ursprung oder websiteübergreifend erfolgt.
Sie können dem Wert des Sec-Fetch-Site
-Headers mit hoher Wahrscheinlichkeit vertrauen, weil:
- HTTP-Header, die mit
Sec-
beginnen, können nicht mit JavaScript geändert werden - Diese Überschriften werden immer vom Browser festgelegt.