[3] 欄値は、零文字以上の VCHAR や SP や HTAB の列とされています >>2, >>14。
[4] SP や HTAB は最初や最後にはできません >>2。 ただし実際にはヘッダー内で欄値の前後に OWS が認められていますから、見かけ上はこの制約は無いともいえます。
[5] 廃止された (生成してはいけない) 構文として、 >>3 に加えて obs-text が含まれることがあります。また、 行折り畳みが行われることがあります。 >>2
[7] 歴史的には文字コードは ISO-8859-1 とされていましたが、 RFC 7230 は実際にはほとんど US-ASCII しか使われていないと述べています >>6。
[8] 新しいヘッダーは、欄値を US-ASCII に限定するべきです >>6。
[9] 受信者は、欄値の非ASCII文字 (obs-text) を不透明なデータとして扱うべきです >>6。
[10] 歴史的には、非標準のヘッダーを中心に、非ASCII文字がしばしば用いられていました。
[29] RFC 1945 は明確な規定をしていませんでした。
[30] RFC 2068 や RFC 2616 は ISO-8859-1 としていました。
[31] RFC 723x になって US-ASCII + 不透明という現在の規定になりました。
[32] Set-Cookie2:
ヘッダーの Comment
属性は
UTF-8 と規定していました。
[33] realm
では本体と同じ文字コードなどが使われてきました。
[34] Content-Disposition:
の filename
でも色々な文字コードが使われてきました。
[35] 過去の HTTP の RFC の中には encoded-word が使えるとするものがありましたが、 まったく現実と乖離した規定でした。
[48]
Webブラウザーが送出する Referer:
ヘッダー値は、
セキュリティー上の理由で
4096 バイト (4KB) 以下に制限されています。
[102] 構文上認められないヘッダー値を含む HTTP/2 メッセージは、 奇形です >>101。
[13] 具体的には 0x00
-0x08
, 0x0D
, 0x0C
,
0x0E
-0x1F
, 0x7F
が含まれる場合や、
先頭や末尾に 0x20
, 0x09
, 0x0A
, 0x0D
がある場合、
0x0D
0x0A
の後に 0x09
または 0x0A
という形以外で 0x0D
, 0x0A
が含まれる場合が該当するとみられます。
0x80
-0xFF
は該当しません。
[17] 実際には Firefox も Chrome も、ヘッダー値がどんなバイト列でも奇形とはしないようです。 Chrome は先頭と末尾の 0x09, 0x20 を削除します。 Firefox は先頭と末尾の 0x09, 0x20, 0x0A, 0x0D を削除し、 それ以外の 0x0D、0x0A を 0x20 に置換します。
[12] Vary:
ヘッダーで指定されたヘッダーの値の比較方法が
HTTP で規定されています。
Vary:
の項を参照。[15] Reference the new HTTP RFCs. Normalize header values. Fixes #99, #100… · whatwg/fetch@6c00fe2 ( 版) https://github.com/whatwg/fetch/commit/6c00fe28e7a361d2b7e0dda776ebccfaa4c439a5
[16] Make setRequestHeader() normalize header values just like Fetch does … · whatwg/xhr@90c79d0 ( 版) https://github.com/whatwg/xhr/commit/90c79d0c0a5dff16266c4b6673eca8bb512343f6
[18] 1197847 – dont allow line folding in h2 headers ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=1197847
[19] Editorial: point out the header value syntax issue (annevk著, ) https://github.com/whatwg/fetch/commit/d465c84d35e86911b00ef2722295184c8a71b420
[20] Define header value inline (annevk著, ) https://github.com/whatwg/fetch/commit/34f586dae28d4678518b4d07b29deec227815f26
[21] Stop lowercasing header names (annevk著, ) https://github.com/whatwg/fetch/commit/5869c43a27fff06c6dfc228fe1288018f7f2168d
[22] Breaking: redo value parsing as value extraction (annevk著, ) https://github.com/whatwg/fetch/commit/68a986772901fe74f666f76a389dbc56cac1ad21
[23] Editorial: use new extracting header list values hook from Fetch (#99) (annevk著, ) https://github.com/w3c/webappsec-referrer-policy/commit/72c085bb5949bbd2525ff97aefdebb22be0e62ba
[25] 942074 - javascript method XMLHttpRequest.setRequestHeader(...) is no longer perform URL encoding () https://bugzilla.mozilla.org/show_bug.cgi?id=942074
[26] [EventSource] Is Last-Event-ID header value allowed to contain any-char? · Issue #689 · whatwg/html () https://github.com/whatwg/html/issues/689
[27] Accept-CH-Lifetime privacy concerns · Issue #372 · httpwg/http-extensions () https://github.com/httpwg/http-extensions/issues/372
[36] Listing headers safe only for certain values is a bad idea · Issue #313 · whatwg/fetch () https://github.com/whatwg/fetch/issues/313
[37] Strengthen requirements on CORS-safelisted request-headers (annevk著, ) https://github.com/whatwg/fetch/commit/9288c8f85c809a0ac371be6843ad2cf4046ee35b
[38] CORS-safelisted request headers should be restricted according to RFC 7231 · Issue #382 · whatwg/fetch () https://github.com/whatwg/fetch/issues/382
[39] Define parsing for X-Content-Type-Options: nosniff in detail (annevk著, ) https://github.com/whatwg/fetch/commit/32c7b1c76a43ea96b8663628b891b339553ae114
[40] Define parsing for X-Content-Type-Options in detail by annevk · Pull Request #818 · whatwg/fetch () https://github.com/whatwg/fetch/pull/818
[41] Be strict on request's Content-Type (annevk著, ) https://github.com/whatwg/fetch/commit/e06e2613f9eef720d0df8640be793efca2af89bc
[42] Redesign "extract header values" and "extract header list values" · Issue #814 · whatwg/fetch () https://github.com/whatwg/fetch/issues/814
[43] Be strict on request's Content-Type by annevk · Pull Request #829 · whatwg/fetch () https://github.com/whatwg/fetch/pull/829
[44] "Extract a MIME type" algorithm should pick the first entry? · Issue #529 · whatwg/fetch () https://github.com/whatwg/fetch/issues/529
[45] Define the Content-Type header parser by annevk · Pull Request #831 · whatwg/fetch () https://github.com/whatwg/fetch/pull/831
[46] Escaped string and backslash not web compatible · Issue #161 · WICG/ua-client-hints () https://github.com/WICG/ua-client-hints/issues/161
Content-Range:
ヘッダーの定義はこの制約に反しています。 RFC 7235 の challenge や credentials もこの制約に反した値を受理してしまいます。