このページに関してのお問い合わせはこちら
くだらない質問はここに書き込め!なんでもアリ4
ツイート
883
:
名無しさん@お腹いっぱい。
:
02/01/10 14:36
http://pc.2ch.net/test/read.cgi/unix/1010414684/
の180 182 183 185 232参照
■質問:
http://www.2ch.net/
->
http://www.2ch.net
への省略がおっけーなのに、
http://www.2ch.net/guide/
->
http://www.2ch.net/guide
への省略だと
トラフィックが増えるのはなぜか?
■回答:
例えば、
http://www.2ch.net/guide/
というURIがあったとする。ここで、便宜上、
1)
http://
2)www.2ch.net
3)/
4)guide
5)/
と分解してみる。
4)5)は、「url-path」と呼ばれ、ファイルの在りかを示すものだ。ファイルの在りかは、
ディレクトリ名ディレクトリ名...ファイル名
という並びになっていて、ファイル名はサーバーの設定により省略可能。
ディレクトリ名は、最後に必ず「/」を付ける習慣になっている。
つまり、5)の「/」は、ディレクトリ名「guide/」の一部で本来省略できない。
ところが、この「/」を間違って省略する例がある。これを省略すると、guideという
ファイル名を指す事になってしまう。しかし、多くのWebサーバーでは、この「/」
が省略されていた場合、親切にも『「/」が抜けてます、本来のアドレスはここですよ』
とブラウザに返す機能が付いている。ブラウザは正しい(「/」付きの)アドレスをWeb
サーバーから受け取り、再度これをサーバーに対してリクエストする。これが、
「負荷増大」の理屈。実際にtelnetで繋ぐと良く分かる。
しかし、3)の「/」は5)の「/」と違い、単に「ホスト部とurl-pathの区切り」であって
完全に別物(*1)であるから、省略しても問題はない(*2)
http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1738.html
(*1)Note that the "/" between the host (or port) and the url-path is
NOT part of the url-path.
(*2)If neither <path> nor <searchpart> is present, the "/" may also be omitted.