作者: 閑舎
日時: 2003/11/20(16:52)
 メール、ありがとうございます。

藤岡和夫 <kazuf@...> さん wrote.

> HTTPのURIの仕様では、スキームとホストは大文字小文字は区別しない(case-insensitive)
> ですけど、パスでは区別する(case-sensitive octet-by-octet comparison)こと
> になっています。パス名にある%7e等の16進表記では大文字小文字は区別する必
> 要はありません。しかし、これはclientすなわち、ブラウザの仕様なんですね。

RFC2616 見ました。確かに藤岡さんご指摘のように、これは HTML4.01 の 
HTML4.decl より以前に RFC ありき、という風に見るべきでした。SGML で書か
れた HTML の DTD は、しかたなく、不完全なものになっているのが現状という
わけですね。ただ、それに合わせ、大文字、小文字の区別をしないようにするサ
イトも、結構あるので、何らかの理由によって、case-insensitive が推奨され
ているのが現状、という「雰囲気」は漂ってますね(W3C が採用しているし)。何
故かな。単に MS のサーバを使っているだけ、だったりして(^^;。

>  パス名の大文字小文字を区別しないと、異なるURIが同じ場所を示すことにな
> りHTTPの仕様上はおかしいですね。実用上は問題ないですけど。

まあ、厳密にはそうなんですけれども、実質的に UNIX では大文字と小文字でディ
レクトリを分け、それをネットで公開する、というようなところはないと思いま
すので、たぶん case-insensitive にしてもそうか、じゃ、そういうふうに設定
(mod_speling 使用など)しよう、で終りのような気はします(^^;。

--
本田博通(閑舎)
テキストとスクリプトの http://rakunet.org/TSNET/