Report-To
已弃用:此功能不再推荐使用。尽管某些浏览器可能仍支持它,但它可能已从相关的 Web 标准中删除,或者正在被弃用,或者仅出于兼容性目的而保留。请避免使用它,并尽可能更新现有代码;请参阅此页面底部的兼容性表格,以指导您的决策。请注意,此功能可能随时停止工作。
非标准:此功能是非标准的,并且不在标准轨道上。请勿在面向 Web 的生产网站上使用它:它不会对每个用户都起作用。不同实现之间也可能存在很大的不兼容性,并且行为在将来可能会发生变化。
警告:此标头已被 Reporting-Endpoints
HTTP 响应标头取代。它是 Reporting API 规范早期版本的已弃用部分。
HTTP Report-To
响应标头 允许网站管理员定义命名的端点组,这些端点可用作警告和错误报告的目标,例如 CSP 违规报告、Cross-Origin-Opener-Policy
报告、弃用报告或其他通用违规。
Report-To
通常与其他选择一组端点以用于特定类型报告的标头一起使用。例如,Content-Security-Policy
标头的 report-to
指令可用于选择用于报告 CSP 违规的组。
标头类型 | 响应标头 |
---|---|
禁止的标头名称 | 否 |
CORS 安全列表响应标头 | 否 |
语法
Report-To: <json-field-value>
- <json-field-value>
-
一个或多个端点组定义,定义为一个 JSON 数组,省略了周围的
[
和]
标记。数组中的每个对象都具有以下属性
示例
设置 CSP 违规报告端点
此示例显示服务器如何使用 Report-To
定义一组端点,然后将该组设置为发送 CSP 违规报告的位置。
首先,服务器可能会发送带有以下所示 Report-To
HTTP 响应标头的响应。这指定了一组由组名称 csp-endpoints
标识的 url
端点。
Report-To: { "group": "csp-endpoints",
"max_age": 10886400,
"endpoints": [
{ "url": "https://example.com/reports" },
{ "url": "https://backup.com/reports" }
] }
然后,服务器可以通过将组名称设置为 report-to
指令的值来指定它希望将此组作为发送 CSP 违规报告的目标。
Content-Security-Policy: script-src https://example.com/; report-to csp-endpoints
给定上面的标头,任何 script-src
CSP 违规都会导致违规报告发送到 Report-To
中列出的两个 url
值。
指定多个报告组
下面的示例演示了指定多个端点组的 Report-To
标头。请注意,每个组都有一个唯一的名称,并且这些组不受数组标记的限制。
Report-To: { "group": "csp-endpoint-1",
"max_age": 10886400,
"endpoints": [
{ "url": "https://example.com/csp-reports" }
] },
{ "group": "hpkp-endpoint",
"max_age": 10886400,
"endpoints": [
{ "url": "https://example.com/hpkp-reports" }
] }
我们可以通过名称选择一个端点组作为违规报告的目标,就像我们在前面的示例中所做的那样。
Content-Security-Policy: script-src https://example.com/; report-to csp-endpoint-1
规范
此标头不再是任何规范的一部分。它以前是 Reporting API 的一部分。
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。