ヘッダー名

ヘッダー名 (HTTP)

[1] ヘッダー名 (header name) (欄名 (field name) ) は、ヘッダーの構文と意味を識別する名前です。

[13] 厳密にはヘッダー名ヘッダー: より前の部分で、 : 自体はヘッダー名の一部ではありませんが、 ヘッダー名であることを明確にするため : まで含めていることがよくあります。

[14] 例えばヘッダー Content-Type: text/plain; charset=utf-8 では Content-Typeヘッダー名です。 Content-Type:ヘッダー名とされることもあります。

仕様書

構文

[3] 欄名は、字句とされています >>2

  1. 字句

[8] ヘッダー名は、ASCII大文字・小文字不区別です。

[9] ヘッダーも参照。

[95] HTTP/2ヘッダーの名前としてのヘッダー名は、小文字に変換してから記述しなければなりません >>92

文脈

[7] 次のヘッダーキャッシュ指令には、いくつかのヘッダー名を指定できます。

処理

[96] 構文上認められないヘッダー名 >>101大文字ヘッダー名 >>92 を含むメッセージは、奇形です。

[22] HTTP/2 ヘッダー名に構文上認められない文字が含まれている場合、 メッセージ奇形です >>21

[96] HTTP/2 ヘッダー名大文字が含まれている場合、 メッセージ奇形です >>92

[23] 実際には Chrome大文字を除く任意のバイトの0個以上の列を奇形でないと判断するようです。 (少なくても XHR では) その先頭と末尾の空白は、除去します。 名前が空バイト列ヘッダーは、無視します。

[24] Firefox大文字を除く任意のバイトの0個以上の列を奇形でないと判断するようです。 (少なくても XHR では) 名前が字句でないヘッダーは、無視します。 (ただし名前に : が含まれるヘッダーの扱いは奇妙です。)

[25] ChromeFirefox も、字句でなく大文字を含む場合、 奇形として扱います。

予約されているヘッダー名

[12] X- から始まるヘッダー名についての規定は RFC 723x 世代から無くなっています。 (X-* を参照。)

[17] RFC 2774 は2桁以上ASCII数字- から始まるヘッダー名を同仕様に基づく拡張で使っています。

[19] SSDP >>18 および UPnP における HTTP >>20vendor 独自のヘッダー名として .Vendor Domain Name で終わるドメイン名型の字句を使うことを認めています。

  1. 字句
  2. .
  3. Vendor Domain Name

[16] OData は、 OData の実装に対して OData から始まる (OData で規定されていない) ヘッダーの利用を禁止しています >>15

ヘッダーの一覧

[10] HTTPヘッダーの一覧を参照。

[11] IANA登録簿についてはHTTPヘッダーを参照。

歴史

[26] Stop lowercasing header names (annevk著, ) https://github.com/whatwg/fetch/commit/5869c43a27fff06c6dfc228fe1288018f7f2168d

[27] Adjust CORS wildcard handling slightly (annevk著, ) https://github.com/whatwg/fetch/commit/358dbf5296d91bb791d864b677b367bb11b3bf37

[28] Field-name syntax · Issue #30 · httpwg/http11bis () https://github.com/httpwg/http11bis/issues/30

[29] Casing of client headers is maybe not accurate · Issue #475 · whatwg/fetch () https://github.com/whatwg/fetch/issues/475

[30] Editorial: defining header name sorting by annevk · Pull Request #906 · whatwg/fetch () https://github.com/whatwg/fetch/pull/906