清除网站数据
Clear-Site-Data
标头清除与请求网站关联的浏览数据(Cookie、存储、缓存)。 它允许 Web 开发人员更好地控制客户端浏览器为其来源存储的数据。
语法
Clear-Site-Data
标头接受一个或多个指令。 如果应清除所有类型的数据,可以使用通配符指令("*"
)。
// Single directive
Clear-Site-Data: "cache"
// Multiple directives (comma separated)
Clear-Site-Data: "cache", "cookies"
// Wild card
Clear-Site-Data: "*"
指令
注意: 所有指令都必须符合 引号字符串语法。 不包含双引号的指令无效。
"cache"
Experimental-
指示服务器希望删除响应 URL 来源的本地缓存数据(浏览器缓存,请参阅 HTTP 缓存)。 根据浏览器的不同,这可能还会清除预渲染页面、脚本缓存、WebGL 着色器缓存或地址栏建议等内容。
"clientHints"
Experimental-
指示服务器希望删除响应 URL 来源存储的所有 客户端提示(通过
Accept-CH
请求)。注意: 在支持
"clientHints"
数据类型的浏览器中,当指定"cache"
、"cookies"
或"*"
类型时,也会清除客户端提示。 因此,仅当未指定其他类型时才需要"clientHints"
。 -
指示服务器希望删除响应 URL 来源的所有 Cookie。 HTTP 身份验证凭据也会被清除。 这会影响整个已注册域,包括子域。 因此,
https://example.com
和https://stage.example.com
的 Cookie 都将被清除。 "storage"
-
指示服务器希望删除响应 URL 来源的所有 DOM 存储。 这包括以下存储机制:
- localStorage(执行
localStorage.clear
), - sessionStorage(执行
sessionStorage.clear
), - IndexedDB(对每个数据库执行
IDBFactory.deleteDatabase
), - Service Worker 注册(对每个 Service Worker 注册执行
ServiceWorkerRegistration.unregister
), - Web SQL 数据库(已弃用),
- FileSystem API 数据,
- 插件数据(通过
NPP_ClearSiteData
的 Flash)。
- localStorage(执行
"executionContexts"
Experimental-
指示服务器希望重新加载响应来源的所有浏览上下文 (
Location.reload
)。 "*"
(通配符)-
指示服务器希望清除响应来源的所有类型的数据。 如果此标头的未来版本中添加了更多数据类型,它们也会被覆盖。
示例
注销网站
如果用户注销您的网站或服务,您可能希望删除本地存储的数据。 为此,请将 Clear-Site-Data
标头添加到确认已成功从网站注销的页面(例如 https://example.com/logout
)。
Clear-Site-Data: "cache", "cookies", "storage", "executionContexts"
清除 Cookie
如果此标头与 https://example.com/clear-cookies
的响应一起传递,则将清除同一域 https://example.com
和任何子域(如 https://stage.example.com
等)上的所有 Cookie。
Clear-Site-Data: "cookies"
规范
规范 |
---|
清除站点数据 # 标头 |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。