禁止ヘッダー名はプログラムから変更することができない HTTP ヘッダーの名前、特に、 HTTP リクエストヘッダーの名前です(反対に、禁止レスポンスヘッダー名 もあります)。

このようなヘッダーの変更が禁じられているのは、ユーザーエージェントがこれらを完全に制御するからです。特に `Sec-` で始まるヘッダー名は、 XMLHttpRequest のように Fetch を使用して開発者がヘッダーを通じて制御できる API に影響されずに、新しいヘッダーを追加できるよう予約されています。

禁止ヘッダー名は Proxy-Sec- で始まるもの、または以下の名前の 1 つです。

  • Accept-Charset
  • Accept-Encoding
  • Access-Control-Request-Headers
  • Access-Control-Request-Method
  • Connection
  • Content-Length
  • Cookie
  • Cookie2
  • Date
  • DNT
  • Expect
  • Host
  • Keep-Alive
  • Origin
  • Proxy-
  • Sec-
  • Referer
  • TE
  • Trailer
  • Transfer-Encoding
  • Upgrade
  • Via

: User-Agent ヘッダーは仕様としては禁止ではなくなりました(Firefox 43 で実装された forbidden header name list を参照)。 Fetch の Headers オブジェクトや、XHR の setRequestHeader() などでこのヘッダーを設定することが可能です。

ドキュメントのタグと貢献者

このページの貢献者: unarist, Uemmra3, mfuji09
最終更新者: unarist,