Cookies Having Independent Partitioned State (CHIPS)
Baseline
2025
Neu verfügbar
Seit December 2025 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Want more support for this feature? Tell us why.
Cookies Having Independent Partitioned State (CHIPS, auch bekannt als Partitionierte Cookies) ermöglicht Entwicklern, ein Cookie für partitionierten Speicher auszuwählen, mit einem separaten Cookie-Speicher pro Top-Level-Site.
Ohne Cookie-Partitionierung können Drittanbieter-Cookies es Diensten ermöglichen, Benutzer zu verfolgen und ihre Informationen über nicht verwandte Top-Level-Sites hinweg zu verknüpfen. Cookies, die mit Partitioned gekennzeichnet sind, sind doppelt gekennzeichnet: durch den Ursprungsort, der sie setzt und den Ursprung der Top-Level-Seite.
Dies bedeutet, dass sie nur im Kontext der Top-Level-Site gelesen werden können, auf der sie gesetzt wurden. Dies ermöglicht es, das Cross-Site-Tracking zu blockieren, während immer noch legitime Verwendungen von Drittanbieter-Cookies wie das Persistieren des Zustands eingebetteter Karten oder Chat-Widgets über eine Domain und ihre Subdomains hinweg ermöglicht werden sowie das Persistieren von Konfigurationsinformationen für Subresource-CDN-Load-Balancing und Headless-CMS-Anbieter.
Wie funktioniert CHIPS?
Um zu verstehen, wie CHIPS funktioniert, schauen wir uns ein kurzes Beispiel an. Historisch gesehen, wenn eine Site Inhalte über ein <iframe> einbettet, konnten die eingebetteten Inhalte ein Cookie auf dem Gerät des Benutzers als Antwort auf die Cross-Site-Anfrage setzen. Wenn der Benutzer andere Sites besucht, die denselben Inhalt einbetten, können die eingebetteten Inhalte auf dasselbe Cookie zugreifen, das ursprünglich von der ersten Instanz des eingebetteten Inhalts gesetzt wurde. Dies ermöglicht es dem Inhaltseigentümer, die Benutzeraktivität über diese Sites hinweg zu verfolgen sowie über andere Sites, die denselben Inhalt einbetten.
Zum Beispiel:
- Ein Benutzer besucht
https://site-a.example, das Inhalte vonhttps://3rd-party.exampleeinbettet.https://3rd-party.examplesetzt ein Cookie auf dem Gerät des Benutzers. - Der Benutzer besucht
https://site-b.example, das ebenfallshttps://3rd-party.exampleeinbettet. Diese neue Instanz vonhttps://3rd-party.examplekann weiterhin auf das Cookie zugreifen, das gesetzt wurde, als der Benutzer auf der vorherigen Seite war.
Dies funktioniert, weil Cookies historisch gesehen mit einem Schlüssel gespeichert wurden, der basierend auf dem Host- oder Domainnamen der Site, die sie gesetzt hat, erstellt wurde, auch bekannt als Host-Schlüssel. Im obigen Fall würde das Cookie mit einem Schlüssel von ("3rd-party.example") gespeichert werden.
Browser mit CHIPS-Unterstützung bieten ein neues Attribut für den Set-Cookie HTTP-Header — Partitioned — das es Site-Eigentümern ermöglicht, sich für die Verwendung von CHIPS zu entscheiden:
Set-Cookie: __Host-example=34d8g; SameSite=None; Secure; Path=/; Partitioned;
Hinweis:
Partitionierte Cookies müssen mit Secure gesetzt werden. Zusätzlich können Sie das __Host-Präfix verwenden, wenn Sie partitionierte Cookies setzen, um sie nur an die aktuelle Domain oder Subdomain zu binden. Dies wird empfohlen, wenn Sie Cookies nicht zwischen Subdomains teilen müssen.
Mit gesetztem Partitioned werden Drittanbieter-Cookies mit zwei Schlüsseln gespeichert, dem Host-Schlüssel und einem neuen Partitionierungs-Schlüssel. Der Partitionierungsschlüssel basiert auf der Site, einschließlich des Schemas der Top-Level-URL, die der Browser besuchte, als die Anfrage an den URL-Endpunkt gesendet wurde, der das Cookie gesetzt hat.
Zurück zu unserem Beispiel:
- Ein Benutzer besucht
https://site-a.example, das Inhalte vonhttps://3rd-party.exampleeinbettet.https://3rd-party.examplesetzt ein Cookie auf dem Gerät des Benutzers mitPartitioned, was bedeutet, dass sich der Site-Inhaber für CHIPS entscheidet. - Der Speicherschlüssel für das Cookie wäre jetzt
{("https://site-a.example"), ("3rd-party.example")}}. - Wenn der Benutzer
https://site-b.examplebesucht, das ebenfallshttps://3rd-party.exampleeinbettet, kann diese neue eingebettete Instanz nicht mehr auf das Cookie zugreifen, weil der Partitionierungsschlüssel nicht übereinstimmt.
Hinweis: CHIPS ist ähnlich dem State Partitioning Mechanismus, der von Firefox implementiert wurde. State Partitioning partitioniert jedoch standardmäßig die Speicherung von Cookies für Drittanbieter-Kontexte, während CHIPS die Opt-in-Option für partitionierte Cookies sowohl für Erstanbieter- als auch für Drittanbieter-Kontexte ermöglicht. Es wird empfohlen, sich für den Opt-in-Mechanismus von CHIPS zu entscheiden, um die kompatibelsten partitionierten Cookies zu bieten.
CHIPS und Subdomains
CHIPS erlaubt es weiterhin, dass Drittanbieter-Inhalte, die über verschiedene Subdomains einer Site eingebettet sind, auf Drittanbieter-Cookies zugreifen können, die von diesen Inhalten gesetzt wurden. Schauen wir uns ein Beispiel für eine Einzelhandelsseite an, die einen Drittanbieter-Chat-Dienst verwendet:
- Ein Benutzer besucht
https://shoppy.example, das einen Drittanbieter-Chat-Dienst vonhttps://3rd-party.example/chateinbettet, um Support für Benutzer zu bieten, die Hilfe benötigen.https://3rd-party.example/chatsetzt ein Cookie auf dem Gerät des Benutzers mitPartitioned, um den Zustand des Chats über verschiedene Subdomains der Site hinweg zu bewahren. - Der Speicherschlüssel für das Cookie wäre
{("https://shoppy.example"), ("3rd-party.example/chat")}}. - Der Benutzer besucht verschiedene Subdomains, die ebenfalls
https://3rd-party.example/chateinbetten, einschließlichhttps://support.shoppy.exampleundhttps://checkout.shoppy.example. Die neuen eingebetteten Instanzen können auf das Cookie zugreifen, da der Partitionierungsschlüssel weiterhin übereinstimmt.
Spezifikationen
| Spezifikation |
|---|
| Cookies Having Independent Partitioned State specification> # section-2.1> |
Browser-Kompatibilität
Siehe auch
- Cookies Having Independent Partitioned State (CHIPS) auf privacysandbox.google.com
- CHIPS Explainer