- ベストアンサー
URLの最後の/について
リンク先のURLの最後に/を付けたほうがそのページに飛ぶ早さも早くなると聞いたんですがスラッシュをつけて自分HPの中の違うページに飛ぶようリンクをつけるとnotfoundになります。スラッシュをつけず、たとえばwww.jjj.com/main.htmlにするときちんと表示されます。 なぜでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
http://www.sample.org/の「sample」というディレクトリにアクセスしたいとします。 http://www.sample.org/sampleでもhttp://www.sample.org/sample/でもアクセスできます。 前者の場合sampleというディレクトリかファイルなのかわからないので、それをサーバーが判断する必要があります。 後者だとはじめからディレクトリだとわかっているのでその必要がありません。 速くなるというのはこのことだと思いますが、そんなの全く変わりません。 >スラッシュをつけず、たとえばwww.jjj.com/main.htmlにするときちんと表示されます。 http://www.jjj.com/main.html/にしたらmain.htmlというディレクトリを探すので、当然Not Foundになります。
その他の回答 (2)
- cdsdasds
- ベストアンサー率52% (114/217)
ブラウザはhttp://www.sample.com/aaaのようなアドレスを入力されたとき、httpからサーバとやり取りする方法とポート番号(別途指定されていた場合はそちらに従う)を、www.sample.comからアクセスすべきサーバを、/aaaからアクセスすべきファイルをそれぞれ理解します。 そして指定されたサーバに指定されたやり取りでアクセスし、指定されたファイルを送ってくれるよう要求します。 この際、/aaa.htmlのようなファイル名が指定されているとわかりやすいのですが、/bbb/のようなフォルダ名の場合、要求されたサーバはそのフォルダでファイル名が指定されていない場合に送信するよう設定されたファイルを送ってきます(通常はindex.htmlとかdefault.htm等)。 念のためですが、PCではファイルとフォルダを\tmp\111.txtのように区切りや、フォルダの一番最初を\であらわしますが、インターネットの世界の表現では\ではなくて/を使います。http://www.sample.com/なら、最後の/はそのサーバの一番上のフォルダ(ルートフォルダ)をあらわしますから、サーバに対して/フォルダを指定した場合に送信するファイルの送信を要求します。 www.jjj.com/main.htmlの場合だと、/main.htmlファイルをアクセスするという指示になりますが、www.jjj.com/main.html/とした場合、/main.html/というフォルダのファイル名を指定されていない場合に送信するファイルをくださいということになりますから、エラーになるのです。 ところで、ほとんど同じですが、http://www.sample.comの場合、アクセスすべきファイルやディレクトリが不明のため、アクセスできません。こうした場合、/をうってないんだろうということで/をアクセスすればよいのですが、大昔のIEや当時使われていたNETSCAPEというブラウザは、最後の/の省略時に何を補うかを判断するのに時間がかかったので、このようなTIPSが生まれました。 現在でもNo2の回答者が説明されているように、判断に時間がかかることはかかるのですが、それほどでもないので余り気にされなくてよいかと思います。
お礼
とても分かりやすい説明です。勉強になります。ありがとうございました!
- neKo_deux
- ベストアンサー率44% (5541/12319)
> スラッシュをつけて自分HPの中の違うページに飛ぶようリンクをつけると この時、自動的に表示されるのは、 index.html index.htm いずれかのファイルのみです。 超初心者の手取り足取りホームページ教室 - index.html って? http://www.d3.dion.ne.jp/~tiyoko01/sitoku/topname.html top.html main.html mokuji.html なんかがあったら、どれを表示すればいいのか分からないので、index.html以外は表示しません。
お礼
早速の返信ありがとうございました。参考にします!
お礼
すごくわかりやすいです!ありがとうございました!