Clear-Site-Data header
Baseline
2023
*
Newly available
Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
* Some parts of this feature may have varying levels of support.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Der HTTP-Header Clear-Site-Data Antwort-Header sendet ein Signal an den Client, dass er alle Browsing-Daten bestimmter Typen (Cookies, Speicher, Cache) entfernen soll, die mit der anfordernden Website verbunden sind.
Er ermöglicht es Webentwicklern, mehr Kontrolle über die von Browsern für ihre Ursprünge gespeicherten Daten zu haben.
| Header-Typ | Antwort-Header |
|---|
Syntax
// Single directive
Clear-Site-Data: "cache"
// Multiple directives (comma separated)
Clear-Site-Data: "cache", "cookies"
// Wild card
Clear-Site-Data: "*"
Direktiven
Hinweis: Alle Direktiven müssen der quoted-string grammar entsprechen. Eine Direktive, die keine doppelten Anführungszeichen enthält, ist ungültig.
"cache"-
Der Server signalisiert, dass der Client lokal zwischengespeicherte Daten (den Browser-Cache, siehe HTTP-Caching) für den Ursprung der Antwort-URL entfernen sollte. Abhängig vom Browser könnte dies auch Dinge wie vorgerenderte Seiten, Vorwärts-Rückwärts-Cache, Skript-Caches, WebGL-Shader-Caches oder Adressleisten-Vorschläge löschen.
"clientHints"Experimentell-
Gibt an, dass der Server alle Client-Hinweise (angefordert über
Accept-CH) entfernt, die für den Ursprung der Antwort-URL gespeichert sind.Hinweis: In Browsern, die den Datentyp
"clientHints"unterstützen, werden Client-Hinweise auch gelöscht, wenn die Datentypen"cache","cookies"oder"*"angegeben sind."clientHints"ist daher nur erforderlich, wenn keiner dieser anderen Typen angegeben ist. -
Der Server signalisiert, dass der Client alle Cookies für den Ursprung der Antwort-URL entfernen sollte. HTTP-Authentifizierungsdaten werden ebenfalls gelöscht. Dies betrifft die gesamte registrierte Domäne, einschließlich der Subdomänen. So werden Cookies sowohl für
https://example.comals auch fürhttps://stage.example.comgelöscht. "executionContexts"Experimentell-
Der Server signalisiert, dass der Client alle Browser-Kontexte für den Ursprung der Antwort neu laden soll (
Location.reload). "prefetchCache"Experimentell Nicht standardisiert-
Wird verwendet, um Spekulationsregeln Prefetches zu löschen, die auf den Referer-Ursprung bezogen sind.
"prerenderCache"Experimentell Nicht standardisiert-
Wird verwendet, um Spekulationsregeln Prerenders zu löschen, die auf den Referer-Ursprung bezogen sind.
"storage"-
Der Server signalisiert, dass der Client alle DOM-Speicher für den Ursprung der Antwort-URL entfernen sollte. Dies umfasst Speichermethoden wie:
- localStorage (führt
localStorage.clearaus), - sessionStorage (führt
sessionStorage.clearaus), - IndexedDB (für jede Datenbank wird
IDBFactory.deleteDatabaseausgeführt), - Service Worker-Registrierungen (für jede Registrierung eines Service Workers wird
ServiceWorkerRegistration.unregisterausgeführt), - Web SQL-Datenbanken (veraltet),
- FileSystem API-Daten,
- Plug-in-Daten (Flash über
NPP_ClearSiteData).
- localStorage (führt
"*"(Sternchen)-
Der Server signalisiert, dass der Client alle Datentypen für den Ursprung der Antwort löschen soll. Wenn in zukünftigen Versionen dieses Headers weitere Datentypen hinzugefügt werden, werden diese ebenfalls abgedeckt.
Beispiele
>Abmelden von einer Website
Wenn sich ein Nutzer von Ihrer Website oder Ihrem Dienst abmeldet, möchten Sie möglicherweise lokal gespeicherte Daten entfernen, einschließlich aller vorab geladenen oder vorgerenderten Inhalte für spekulative Navigationen.
Fügen Sie dazu den Clear-Site-Data-Header zur Seite hinzu, die das erfolgreiche Abmelden von der Seite bestätigt (zum Beispiel https://example.com/logout):
Clear-Site-Data: "cache", "cookies", "storage", "executionContexts", "prefetchCache", "prerenderCache"
Cookies löschen
Wenn dieser Header mit der Antwort unter https://example.com/clear-cookies übermittelt wird, werden alle Cookies auf derselben Domain https://example.com und allen Subdomänen (wie https://stage.example.com, etc.) gelöscht.
Clear-Site-Data: "cookies"
Spekulationen löschen
Wenn dieser Header mit der Antwort unter https://example.com/change-state.json übermittelt wird, werden alle spekulierten Navigationen prerenders auf derselben Domain https://example.com und allen Subdomänen (wie https://stage.example.com) gelöscht.
Clear-Site-Data: "prerenderCache"
Um sowohl Prefetch- als auch Prerender-Spekulationen zu löschen, müssen sowohl prefetchCache als auch prerenderCache gesendet werden:
Clear-Site-Data: "prefetchCache", "prerenderCache"
Es gibt Fälle, in denen das Löschen des einen oder anderen oder beider angemessen ist.
Zum Beispiel könnte eine Client-seitig gerenderte Anwendung, die Daten aus JavaScript bezieht, prerenderCache bei einem Zustandswechsel verwenden, um die vorgerenderten Seiten zu verwerfen, aber das vorab geladene HTML behalten, um es zu nutzen, wenn die Seite erneut angezeigt (oder vorgerendert) wird.
Andererseits, wenn das vorab geladene HTML-Dokument veraltete Daten enthält, aber die entsprechende vorgerenderte Seite so eingerichtet ist, dass sie die Daten beim Anzeigen aktualisiert, müssen Sie möglicherweise nicht prerenderCache verwenden, aber Sie möchten wahrscheinlich die Direktive prefetchCache verwenden, damit das veraltete HTML nicht in einem zukünftigen Prerender verwendet wird.
Schließlich, wenn das vorab geladene HTML-Dokument veraltete Daten enthält und auch keine veralteten Inhalte auf vorgerenderten Seiten aktualisiert, dann ist es am besten, sowohl prefetchCache als auch prerenderCache anzugeben.
Spezifikationen
| Specification |
|---|
| Clear Site Data> # header> |