人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

URLを示すにあたり、下記のどちらが正しいのでしょうか。
1) http://www.xxxx.com/
2) http://www.xxxx.com
要するに、ホスト名の最後にスラッシュをつけるべきでしょうか、つけないべきでしょうか。

●質問者: crashtruck
●カテゴリ:インターネット ウェブ制作
✍キーワード:URL スラッシュ ホスト
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● garyo
●20ポイント

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/」とスラッシュ付きが正しい。

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

◎質問者からの返答

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


2 ● KUROX
●20ポイント

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

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

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

です。

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

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

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

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

◎質問者からの返答

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


3 ● kn1967
●20ポイント
ブラウザに 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)スラッシュを自動的に附加してサーバーにデフォルトのファイルあるいはリストを要求します。

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

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

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

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

◎質問者からの返答

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


4 ● znz
●20ポイント

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

理由は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!」になります。

◎質問者からの返答

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


5 ● Yota
●20ポイント

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コマンドで両方試してみても返ってくる時間とか変わりないようですのでこの/はつけてもつけなくてもいいと思います。個人的には見た目でついていたほうが収まりがいいと感じます。

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ