プロが教えるわが家の防犯対策術!

UNIX上のhttpサーバはなぜ大文字小文字の区別があるのですか?
RFC1738(URL)では大文字は「弾力を持たせるため」小文字と同じく扱う
というように定義されてるのですが、UNIXのhttpサーバは大文字小文字
区別するために、事実上RFCと違う実装になっていると思います。
大文字小文字を区別することによってどんなメリットがあるのか
教えて下さい。

A 回答 (5件)

RFC1738では「<scheme>)は大文字小文字を区別しない」とあります。


よって、"HTTP"は"http"と同義です。

しかし、<scheme-specific-part>については「印刷可能なASCII文字列および符号化された8ビットコード」と定義されています。
結果,<url-path>は環境依存でもRFCに違反しません。
    • good
    • 2

なんかある意味凄い質問ですね。


RFCの件は他の方が答えているので良いとしましょう。

HTTP://WWW.GOO.NE.JP/
http://www.goo.ne.jp/

は区別無く、同じサーバにアクセスできるという事は問題ないですよね。

区別することによるメリットについては、逆に考えたらどうでしょう。
Windowsのサーバではなぜ大文字小文字を区別しないのか。
これって便利ですかね。
ユーザに対する制限は少ない方が柔軟性が高くなると思うのですが。

ひらがなとカタカナは同一視される世界ってどう思います?
AとFとPが同一視されるのはどうですか?
そういう事です。
    • good
    • 1

UNIXでは単にファイルシステムと同じにしているだけです。



メリットなどと言う大げさなものはありません。
「文字種チェック」と「文字種変換」の処理をサポートできるようなメモリ容量が確保できなかっただけです。

初期のUNIXは仮想記憶無しで実メモリ64Kバイトというシステムですから。
ちなみにユーザメモリはプロセスごとに8Kバイトでした。
    • good
    • 1

直接の回答では有りませんが参考までに。


大文字/小文字を区別するかどうかを決めているのは「文化」「思想」でしょう。
JAVAも大文字、小文字を区別します。
システム内ではクラス名がユニークである必要が有ります。
そのため修飾名を多用します。例えば、「TokyoChiyodaMarunouchi」のように表します。
ところがもし、「TokyochiYodamaRunouchi」が修飾形として存在した場合、別物であるにもかかわらず、小文字/大文字の区別がない場合、同じものと見なされてしまいます。
つまり、区別した方が同じクラス名称ができにくいと言えます。
    • good
    • 0

WindowsやMacとりがい、UNIX系のOSはほとんどのものが


大文字小文字を区別するため、そのOS上で稼動する
サービス、デーモン、アプリケーションはOSの仕様を
引き継ぐことになるためです。
確かにhttpd自体が受け付けたURL文字列は大文字
小文字の区別はしなくてもよいかもしてませんが、
URLのホスト名以下の部分(パス名の部分)に
関しては、少なくともhttpdの制御下ではなく
OSの制御下になります。
ですから大文字小文字を区別してしまうのです。

メリットは何でしょうねぇ、、、
デメリットとしては、なれれば問題無いのですが
なれるまでは不便に感じることでしょうか、、、
ついつい大文字で入力しがちな人は特に!
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!