アカウント名:
パスワード:
Bugzillaのチケット [mozilla.org]見ても
HTTP headers are case insensitive.
と書いているし、窓の杜の記事見ても、
「Necko」は「Content-Length」ヘッダーを追加する際、大文字と小文字を正しく挿入するため、この違いは通常、問題とならない。しかし、「viaduct」を通過するリクエストは「Content-Length」ヘッダーを小文字に変換してしまう。
とあって、何故かRFC通りの小文字変換が誤っていて、大文字小文字混在のRFC違反が正しい挿入とされている。修正がcase-insensitiveなのは理解するけど、「RFC違反だけど仕方なし」の認識ではないのかな……
case insensitive なら大文字小文字混在で問題ないのでは?もちろんすべて小文字、すべて大文字も違反になりませんが。なぜRFC違反になると考えたのですか?
ごめん。勘違いでした。・HTTP 2.0 以降は lower case が MUST・んだけども、処理は case insensitive で扱う必要がある
よって、プログラマの瑕疵としては、・lower case 以外が来ることを想定していない・content-length が得られない状況を想定していないうえ、ハングするようになってるの両方がある
また間違えたすまねぇ。プログラマの瑕疵としては、・ヘッダーを case sensitive で扱っていた・content-length が得られない状況を想定していないうえ、ハングするようになっている・動作テストが不十分だった nightly とか beta をすり抜けたのは残念
RFC を金科玉条に小文字だけ処理したら大文字使っている野良サーバで動かなくなる。現実を見て大文字小文字を受け付けるべき。ブラウザは。
たとえば HTML/CSS も閉じタグがなかったり、誤った使い方でも表示するように実装している。ブラウザは。
実用的なものを作るには RFC から外れた対応も必要です。ブラウザ以外でも。
世の中、HTTP/1.1な組み込み機器とかある訳で、最新版以外知らんという訳にはいかない。
前回のストーリーで、RFC本文には確かに小文字とあるがサンプルがなぜか大文字小文字混じりになっているという罠があると聞いた
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー
この件ずっとRFCに無頓着 (スコア:0)
Bugzillaのチケット [mozilla.org]見ても
HTTP headers are case insensitive.
と書いているし、窓の杜の記事見ても、
「Necko」は「Content-Length」ヘッダーを追加する際、大文字と小文字を正しく挿入するため、この違いは通常、問題とならない。しかし、「viaduct」を通過するリクエストは「Content-Length」ヘッダーを小文字に変換してしまう。
とあって、何故かRFC通りの小文字変換が誤っていて、大文字小文字混在のRFC違反が正しい挿入とされている。
修正がcase-insensitiveなのは理解するけど、「RFC違反だけど仕方なし」の認識ではないのかな……
Re: (スコア:0)
case insensitive なら大文字小文字混在で問題ないのでは?
もちろんすべて小文字、すべて大文字も違反になりませんが。
なぜRFC違反になると考えたのですか?
Re: (スコア:0)
ごめん。勘違いでした。
・HTTP 2.0 以降は lower case が MUST
・んだけども、処理は case insensitive で扱う必要がある
よって、プログラマの瑕疵としては、
・lower case 以外が来ることを想定していない
・content-length が得られない状況を想定していないうえ、ハングするようになってる
の両方がある
Re: (スコア:0)
また間違えたすまねぇ。
プログラマの瑕疵としては、
・ヘッダーを case sensitive で扱っていた
・content-length が得られない状況を想定していないうえ、ハングするようになっている
・動作テストが不十分だった
nightly とか beta をすり抜けたのは残念
Re: (スコア:0)
RFC を金科玉条に小文字だけ処理したら
大文字使っている野良サーバで動かなくなる。
現実を見て大文字小文字を受け付けるべき。ブラウザは。
たとえば HTML/CSS も閉じタグがなかったり、
誤った使い方でも表示するように実装している。ブラウザは。
実用的なものを作るには RFC から外れた対応も必要です。ブラウザ以外でも。
Re: (スコア:0)
世の中、HTTP/1.1な組み込み機器とかある訳で、最新版以外知らんという訳にはいかない。
Re: (スコア:0)
前回のストーリーで、RFC本文には確かに小文字とあるがサンプルがなぜか大文字小文字混じりになっているという罠があると聞いた