Report-To 标头
已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。
非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。
警告: 此标头已被 Reporting-Endpoints HTTP 响应标头取代。它是 Reporting API 规范早期迭代中已弃用的部分。
HTTP Report-To 响应标头允许网站管理员定义具名端点组,这些端点组可用作警告和错误报告(例如 CSP 违规报告、Cross-Origin-Opener-Policy 报告、弃用报告或其他通用违规)的目标。
Report-To 通常与其他标头结合使用,这些标头选择一组端点用于特定类型的报告。例如,Content-Security-Policy 标头 report-to 指令可用于选择用于报告 CSP 违规的组。
| 头类型 | 响应头 |
|---|---|
| 禁止请求头 | 否 |
| CORS-safelisted 响应头 | 否 |
语法
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 的一部分。
浏览器兼容性
加载中…