5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

URLの最後に「 / 」

1 :MG5:2000/05/15(月) 06:52
教えてください。
ホームページの案内などで URLの最後に「 / 」をつけているのと
つけていないのとがありますがどう違うのでしょうか。

例) http://www.2ch.net/http://www.2ch.net

2 :名無しさん:2000/05/15(月) 06:58
最後の「/」を省くとサーバの手間が一つ増える。付けるべき。

3 :名無しさん:2000/05/15(月) 07:05
www.foo.com/hoge と www.foo.com/hoge/ は違うけど、
www.foo.com と www.foo.com/ は同じなんじゃないですかね?



4 :MG5:2000/05/15(月) 07:13
>2さん
ありがとうございます。
私も付ける方がいいようになんとなく感じていましたが
具体的にサーバーの手間というのはどういうことをいうのでしょうか?
訊いてばかりですみません。

5 :名無しさん:2000/05/15(月) 07:18
画像やホットテキストを、
相対パスで記述してる場合は、
"/"が無いだけで指定場所が変わる。
ページの画像が全て表示されていないトコは、
このパターンでリンクされてたりする事が多かったりするんだわ。

6 :名無しさん:2000/05/15(月) 07:34
i-modeでwww.foo.com/hoge/の最後のスラッシュを抜かすと
もう一度ページを読み直しに行くんだよねぇ。

だから何?って感じだけど(笑)

7 :名無しさん:2000/05/15(月) 10:23
( from http://www.ietf.org/rfc/rfc1738.txt )

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

url-path
The rest of the locator consists of data specific to the
scheme@` and is known as the "url-path". It supplies the
details of how the specified resource can be accessed. Note
that the "/" between the host (or port) and the url-path is
NOT part of the url-path.


8 :名無しさん:2000/05/15(月) 11:02
http://www.2ch.net/
だと、最初から http://www.2ch.net/index.htm を読みにいって、

http://www.2ch.net
だと、サーバーから「そのアドレスはないけどコレのことか」的な補足をされて 改めて
http://www.2ch.net/index.htm に飛ばされる、のだと理解してますが。

もし違ってたら指摘して。



9 :名無しさん:2000/05/15(月) 11:34
<url-path>の前の / が有っても無くても同じだと思うんだけど、
とりあえずブラウザが違うURLだと解釈して、別々にキャッシュして
しまうから、どちらかに統一したほうが良い。

10 :9:2000/05/15(月) 11:37
普段、メールの署名とかでは
http://foo.bar.com/
みたいに書いているのなら、そのサイト内で「トップページへ戻る」
とかのリンクでも、そう書いたほうが良い。
<a href="index.htm"> にしてしまうと、
http://foo.bar.com/
http://foo.bar.com/index.htm
と、結果的に同じものに対して2つキャッシュしてしまうので邪魔。

11 :名無しさん:2000/05/15(月) 13:04
>8
なんかちがうんでツッコミ。

http://www.2ch.net/hoge/
だと、「www.2ch.net」サーバの「/hoge/」を読みに行く。
http://www.2ch.net/hoge
だと、「www.2ch.net」サーバの「/hoge」を読みに行く。
……が、(同名のファイルがなく同名のディレクトリがある場合)サーバから「それをいうなら"/hoge/"でないかい?」って言うツッコミが返ってくる。
で、改めて「www.2ch.net」サーバの「/hoge/」を読みに行く。

http://www.2ch.net/
だと、「www.2ch.net」サーバの「/」を読みに行く。
http://www.2ch.net
でも、「www.2ch.net」サーバの「/」を読みに行く。

つまり、「http://www.2ch.net/hoge/」と「http://www.2ch.net/hoge」は等価ではないが、「http://www.2ch.net/」と「http://www.2ch.net」は等価。
ややこしい。


12 :名無しさん:2000/05/15(月) 14:02
//<user>:<password>@<host>:<port>/<url-path>

この中にある / と <url-path>中の / は意味が違うのでヨロシクみたいな。

13 :>11:2000/05/15(月) 14:28
違うよ

GET HTTP/1.1
Host: www.2ch.net

ってやると、取得エラーが返るよ。サーバは勝手にルートは読みに行きません。

ブラウザが後ろの/が無いと、/を付加して
GET / HTTP/1.1
とやっているだけだよ

PROXYに
GET http://www.2ch.net HTTP/1.1
ってやったばあいも、PROXYが同様の処理をしているだけ

14 :名無しさん:2000/05/15(月) 14:35
内部処理はともかくとして、
ディレクトリの末尾はスラッシュを付ける決まりとなっている。
だけどルートディレクトリに限っては、
付けなくてもかまわないという決まりもあるね。

× http://www.2ch.net/hoge
○ http://www.2ch.net/hoge/

○ http://www.2ch.net/
○ http://www.2ch.net

15 :せっかくなので:2000/05/15(月) 18:06
もうひとつおまけ。

http://www.w3.org/WAI/WCAG1A-Conformance
×http://www.w3.org/WAI/WCAG1A-Conformance/

上の場合、WAIディレクトリの中のWCAG1A-Conformanceというファイルを読みにいく。
下の場合、WAIディレクトリの中のWCAG1A-Conformanceというディレクトリを読みにいく。

サーバのルート(例えば、http://www.2ch.net/等)へのアンカーには
スラッシュがあっても無くてもいいということは、
上のような違いが生まれないからなのです。



16 :just another perl user:2000/05/15(月) 19:37
13の意図が良く分からんなぁ。


17 :名無しさん:2000/05/15(月) 21:14
つまりな、無駄なトラフィックを増やさないためにも
最後にスラッシュを書けってことだよ。
もちろん、ファイルの場合はスラッシュ入れちゃダメだぞ。

18 :みいあ:2000/05/15(月) 21:31
はじめまして、初めて2chにカキコさせて頂きます。
端から見ていてようやく「/」を付ける、付けないの違いが
理解できたような気がするのですが・・つまり、

http:// の後に入る文字(例:www.2ch.net)は
「ルートディレクトリ」と呼ばれ、これは「/」の有無に関係なく
サーバが読み込みに行ってくれるが、出来るならば「/」は付けた方が良い。
これらは「/」の有無に関わらず等しいものではある。

それで

ルートディレクトリの後に付く文字の場合、
末尾に「/」が付かなければファイルと呼ばれ
逆に「/」の付いたものはディレクトリと呼ばれる。
そしてこれらは等しいものではない。

・・こんな風に理解してよろしいのでしょうか?
私の理解度が足りないのかもしれませんが、どうにも自信が無いので
カキコさせて頂いた次第でございます。
どなたか肯定ないしは否定・訂正のほどよろしくお願い致します。

19 :名無しさん:2000/05/16(火) 04:55
色々書いてあって結局どれが正解?
だれかまとめてくれ〜

20 :名無しさん:2000/05/16(火) 05:02
ルールに従う・・・これが正解。
だと思う。
ココまでに書いてあることは全て間違ってないし、
それぞれ焦点が違うだけだけど、
結論として言ってることは一緒じゃん。
"/"は付けるべき。

21 :名無しさん:2000/05/16(火) 07:09
ブラウザで www.2ch.net と指定しても、ブラウザ側は、
$host = 'www.2ch.net'
$pass = '/'
(perl風に記述)
でGETリクエストを発行してくれるんじゃないですか?


22 :名無しさん:2000/05/16(火) 08:27
>19
14のが一番簡単に纏まってて良い。


23 :名無しさん:2000/05/17(水) 07:30
>18
強いて挙げれば、
> http:// の後に入る文字(例:www.2ch.net)は
> 「ルートディレクトリ」と呼ばれ、
http: //〜〜 の場合のアクセスは「ルートディレクトリ」に
向けて行なわれる、といったところでしょうか。

>21
この場合はサーバ内の構成とは無関係なので、ブラウザは
自信たっぷりに「$pass = '/' 」とできるのでしょう。

24 :無名:2000/05/18(木) 01:01
で、正解は?

25 :名無しさん@1周年:2000/05/18(木) 01:32
>24
14のやつ。

26 :名無しさん@1周年:2000/05/18(木) 02:34
どっかのサーバー管理者ばっかりが集まる掲示板で
このことについて議論してた事が有るけど
結論としては、「”/”を付けた方が負荷が少ない」
ということで決着してた
くわしいことはわからん(笑)

27 :名無しさん:2000/05/18(木) 08:00
簡易的なhttpクライアントをsocketを使って作ったことがある人なら
この問題は答えられますよね。

28 :名無しさん@1周年:2000/05/18(木) 17:39
URI の終わりに / がついてなければ
1) とりあえずファイルとみなして *.html *.htm の拡張子をつけてトライする
2) 見つからなかったらディレクトリとみなして / を付加してトライする
ってことだと理解してますけど。
だから、ディレクトリへのリンクを / をつけずに書けば、1) が無駄な動作になって
負荷が増える。

29 :名無しさん@1周年:2000/05/18(木) 17:42
>28
そんな 1) みたいな動作、そういう設定にしてない限りはしない。
index.htmlの存在するトコロに、indexで指定して表示させてみな。

30 :ge:2000/05/19(金) 18:57
ge

9 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)