禁止請求頭

禁止的請求頭是 HTTP 頭名稱-值對,不能在請求中透過程式設計方式設定或修改。有關禁止在響應中修改的頭,請參閱禁止的響應頭名稱

禁止修改此類頭的原因是使用者代理對其擁有完全控制權。例如,Date 頭是一個禁止的請求頭,因此此程式碼無法設定訊息的 Date 欄位

js
fetch("https://httpbin.org/get", {
  headers: {
    Date: new Date().toUTCString(),
  },
});

Sec- 開頭的名稱保留用於建立新的頭,這些頭在賦予開發者控制頭的 API(例如fetch())中是安全的。禁止的頭是以下之一:

注意:User-Agent 頭曾經是禁止的,但現在不再是。然而,Chrome 仍然悄悄地從 Fetch 請求中刪除該頭(參見Chromium bug 571722)。

注意:雖然Referer 頭在規範中被列為禁止的頭,但使用者代理並不對其擁有完全控制權,並且該頭可以透過程式設計方式修改。例如,在使用fetch()時,Referer 頭可以透過referrer 選項進行程式設計修改。

另見