URLを示すにあたり、下記のどちらが正しいのでしょうか。

1) http://www.xxxx.com/
2) http://www.xxxx.com
要するに、ホスト名の最後にスラッシュをつけるべきでしょうか、つけないべきでしょうか。

回答の条件
  • 1人2回まで
  • 登録:2007/08/19 01:14:42
  • 終了:2007/08/26 01:15:26

回答(5件)

id:garyo No.1

garyo回答回数1782ベストアンサー獲得回数962007/08/19 01:17:59

ポイント20pt

URLがドメインで終わるときの最後のスラッシュとか

http://blog.dtpwiki.jp/dtp/2005/02/url.html

http://www.otsune.com/diary/2005/02/07.html#200502077

結論。

ドメインだけの表記は「http://example.co.jp」とスラッシュを抜いた表記も正しい。

ディレクトリが付いた場合は「http://example.co.jp/hogehoge/」とスラッシュ付きが正しい。

結局「最後にスラッシュをつける」とバカ覚えしても正しい。

id:crashtruck

なるほど。ありがとうございます。

2007/08/19 01:22:17
id:KUROX No.2

KUROX回答回数3542ベストアンサー獲得回数1402007/08/19 04:07:39

ポイント20pt

(2)の表記が一般的ですけど

(1)の表記をしたほうが、はやく表示されます。

A HREFタグとかは、表示を(2)で、指定は(1)が良いはず

です。

http://www.tohoho-web.com/wwwpoint.htm

>ディレクトリの後ろにはスラッシュをつける

>http://~/userid で終わってしまうURLをよく見掛けますが、>useridがディレクトリ(フォルダ)であれば、http://~/user>id/ のように最後にスラッシュ( / )をつけましょう。(その方>が読込みが早い。本当。)

実際に試してみても体感できるはずです。

id:crashtruck

なるほど。ありがとうございます。

2007/08/19 07:54:15
id:kn1967 No.3

kn1967回答回数2915ベストアンサー獲得回数3012007/08/19 06:12:27

ポイント20pt
ブラウザに http://www.xxxx.com を与えた場合の手順
(1)サーバーにアクセスしたいという要求を出します
(2)サーバーからの応答が返ってきます
(3)スラッシュを自動的に附加してサーバーにデフォルトのファイルを要求します。

に対して

ブラウザに http://www.xxxx.com/ を与えた場合の手順
(1)サーバーに対してデフォルトのファイルを要求します。

最初から末尾スラッシュを入れてあるかどうかで

ブラウザの待ち時間だけといった自己中な問題だけではなく

・インターネット上のトラフィック減少

・サーバー負荷減少

といったことにも寄与しますので末尾スラッシュは入れておくほうが良いでしょう。


ディレクトリの場合も同様に末尾スラッシュは入れておくほうが良いでしょう。

ブラウザに http://www.xxxx.com/hogehoge を与えた場合の手順
(1)サーバーにhogehogeを要求します。
(2)hogehogeはディレクトリだと応答が返ってきます。
  ※hogehogeがファイルならばファイルの中身を返してきて(3)には進みません。
  ※hogehogeが実行ファイルならば実行結果を返してきて(3)には進みません。
(3)スラッシュを自動的に附加してサーバーにデフォルトのファイルあるいはリストを要求します。

いずれも絶対に付けなければならないというものではありませんが

礼儀として入れておくべきものという程度の認識は

少なからず持っておかれるほうがよろしいかと思います。

※手順に関する説明部分は簡略化しており、具体的には少々異なる部分もあります事、ご了承願います。

id:crashtruck

丁寧なご回答、ありがとうございます。

2007/08/19 07:54:00
id:znz No.4

znz回答回数193ベストアンサー獲得回数252007/08/20 11:06:47

ポイント20pt

/ のみの場合は省略してもまったく同じ意味になります。

理由はRFCでそう決まっているからです。

http://www.studyinghttp.net/uri#HTTP_URI

もし、abs_path が URL で与えられていなければ、そのリソースへの Request-URI として使われる時に、"/" が与えられなければならない (section 5.1.2)。

それ以外の場合は末尾に / をつけるかどうかで意味が違ってきます。

つけなくてもつけたURLにリダイレクトされたりするのは、そういう設定になっていることが多いというだけです。

たとえば http://www.studyinghttp.net/uri の末尾に / をつけると「404 - Not Found!」になります。

id:crashtruck

ありがとうございます。新情報です。

2007/08/20 21:50:33
id:Yota No.5

Yota回答回数453ベストアンサー獲得回数282007/08/20 12:15:37

ポイント20pt

http://www5d.biglobe.ne.jp/~stssk/nro/rfc1738_j.txt

RFCによれば、これが正しいURLということです。

http://<user>:<password>@<host>:<port>/<url-path>

実際に省けるのは、<user>:<password>@、:<port>、/<url-path>。

例えばApacheでは(/)<url-path>がないと、公開ディレクトリ直下のindex.html(DirectoryIndexに指定したファイル)が表示されるか、公開ディレクトリの中身が全部見えたりします。つまり、省略した先はサーバの設定に依存するということです。

そう考えると、http://servername/index.htmlのように全部書くのが正しくかつ確実であるといいたいところです。しかし、そこまで入力するのがめんどくさい人のために省略しているということなのでしょう。wgetコマンドで両方試してみても返ってくる時間とか変わりないようですのでこの/はつけてもつけなくてもいいと思います。個人的には見た目でついていたほうが収まりがいいと感じます。

id:crashtruck

ありがとうございます。かなり信頼できるご指摘ですね。

2007/08/20 21:56:44
  • id:kn1967
    >http://<user>:<password>@<host>:<port>/<url-path>

    このアクセス方法は便利でよく使っていたのですが
    便利な反面、スクリプトによる攻撃を受けやすいため、
    今では<user>:<password>@を用いたアクセスは拒否してるサーバが多いですよね。
  • id:crashtruck
    ありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません