- ベストアンサー
UNIX上のhttpサーバって何で大文字小文字の区別があるんですか?
UNIX上のhttpサーバはなぜ大文字小文字の区別があるのですか? RFC1738(URL)では大文字は「弾力を持たせるため」小文字と同じく扱う というように定義されてるのですが、UNIXのhttpサーバは大文字小文字 区別するために、事実上RFCと違う実装になっていると思います。 大文字小文字を区別することによってどんなメリットがあるのか 教えて下さい。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
RFC1738では「<scheme>)は大文字小文字を区別しない」とあります。 よって、"HTTP"は"http"と同義です。 しかし、<scheme-specific-part>については「印刷可能なASCII文字列および符号化された8ビットコード」と定義されています。 結果,<url-path>は環境依存でもRFCに違反しません。
その他の回答 (4)
なんかある意味凄い質問ですね。 RFCの件は他の方が答えているので良いとしましょう。 HTTP://WWW.GOO.NE.JP/ http://www.goo.ne.jp/ は区別無く、同じサーバにアクセスできるという事は問題ないですよね。 区別することによるメリットについては、逆に考えたらどうでしょう。 Windowsのサーバではなぜ大文字小文字を区別しないのか。 これって便利ですかね。 ユーザに対する制限は少ない方が柔軟性が高くなると思うのですが。 ひらがなとカタカナは同一視される世界ってどう思います? AとFとPが同一視されるのはどうですか? そういう事です。
- toysmith
- ベストアンサー率37% (570/1525)
UNIXでは単にファイルシステムと同じにしているだけです。 メリットなどと言う大げさなものはありません。 「文字種チェック」と「文字種変換」の処理をサポートできるようなメモリ容量が確保できなかっただけです。 初期のUNIXは仮想記憶無しで実メモリ64Kバイトというシステムですから。 ちなみにユーザメモリはプロセスごとに8Kバイトでした。
- ymmasayan
- ベストアンサー率30% (2593/8599)
直接の回答では有りませんが参考までに。 大文字/小文字を区別するかどうかを決めているのは「文化」「思想」でしょう。 JAVAも大文字、小文字を区別します。 システム内ではクラス名がユニークである必要が有ります。 そのため修飾名を多用します。例えば、「TokyoChiyodaMarunouchi」のように表します。 ところがもし、「TokyochiYodamaRunouchi」が修飾形として存在した場合、別物であるにもかかわらず、小文字/大文字の区別がない場合、同じものと見なされてしまいます。 つまり、区別した方が同じクラス名称ができにくいと言えます。
- selenity
- ベストアンサー率41% (324/772)
WindowsやMacとりがい、UNIX系のOSはほとんどのものが 大文字小文字を区別するため、そのOS上で稼動する サービス、デーモン、アプリケーションはOSの仕様を 引き継ぐことになるためです。 確かにhttpd自体が受け付けたURL文字列は大文字 小文字の区別はしなくてもよいかもしてませんが、 URLのホスト名以下の部分(パス名の部分)に 関しては、少なくともhttpdの制御下ではなく OSの制御下になります。 ですから大文字小文字を区別してしまうのです。 メリットは何でしょうねぇ、、、 デメリットとしては、なれれば問題無いのですが なれるまでは不便に感じることでしょうか、、、 ついつい大文字で入力しがちな人は特に!