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 響應頭

語法

http
Report-To: <json-field-value>
<json-field-value>

一個或多個端點組定義,定義為省略了周圍的 [] 標記的 JSON 陣列。陣列中的每個物件都具有以下成員:

group

端點組的名稱。

max_age

瀏覽器應快取報告配置的時間(以秒為單位)。

endpoints

一個或多個 URL 的陣列,報告應傳送到這些 URL。

示例

設定 CSP 違規報告端點

此示例顯示伺服器如何使用 Report-To 定義一組端點,然後將該組設定為傳送 CSP 違規報告的位置。

首先,伺服器可能會發送一個帶有 Report-To HTTP 響應標頭的響應,如下所示。這指定了一組由組名 csp-endpoints 標識的 url 端點。

http
Report-To: { "group": "csp-endpoints",
              "max_age": 10886400,
              "endpoints": [
                { "url": "https://example.com/reports" },
                { "url": "https://backup.com/reports" }
              ] }

然後,伺服器可以透過將組名設定為 report-to 指令的值來指定希望此組成為傳送 CSP 違規報告的目標。

http
Content-Security-Policy: script-src https://example.com/; report-to csp-endpoints

鑑於上述標頭,任何 script-src CSP 違規都將導致違規報告發送到 Report-To 中列出的兩個 url 值。

指定多個報告組

下面的示例演示了指定多個端點組的 Report-To 標頭。請注意,每個組都有一個唯一的名稱,並且這些組不受陣列標記的限制。

http
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" }
              ] }

我們可以像上一個示例中那樣,透過名稱選擇一個端點組作為違規報告的目標。

http
Content-Security-Policy: script-src https://example.com/; report-to csp-endpoint-1

規範

此標頭不再是任何規範的一部分。它以前是 Reporting API 的一部分。

瀏覽器相容性

另見