幼稚園時代「何組」でしたか?

例えば、google.co.jpにアクセスしたい時に、IEのアドレスバーに
http://google.co.jpと入力(www.を省略)してもGoogleの画面が表示され、表示された画面のアドレスバーにはhttp://www.google.co.jp/と入れていないはずのwww.が追加されています。しかしhttp://yahoo.co.jpと入力すると、アドレスバーにはhttp://yahoo.co.jpと表示され普通のyahoo画面になります。また、http://www.yahoo.co.jpと入力すれば同じyahoo画面ですが、アドレスバーにはhttp://www.yahoo.co.jpと表示されます。
googleの件で、本来WEBを参照するならwwwの入力は必須だが、省略してもプロバイダのDNSが補完してくれると勝手に推測していたのですが、yahooの
例で、それだとツジツマが合わないような気がしてきました。
どなたか、このメカニズムがお分かりの方がいらっしゃいましたら
ご教授ください。お願い致します。

A 回答 (5件)

#3です。


>GoogleもYahooも、​www.​が付くURLも付かないURLも実在し、googleの場合は、​​http://google.co.jp​​にアクセスすると、​​>http://www.google.co.jp​に行け!というメッセージだけを返し、
>yahooは​http://yahoo.co.jp​というページのhtmlソースが​http://www.yahoo.co.jp​​と同じになっているという事でしょうか?

はい、そうなります。

Windowsからだとコマンドプロンプトから
nslookup google.co.jp
nslookup www.google.co.jp
としてみると、それぞれIPが割り当てられているのが確認できると思います。

蛇足で説明すると、
URL「http://google.co.jp/」とは「http」で「google.co.jp」に「/」のリソースを要求するという意味になります。それに対し、google.co.jpの返答は「ここには無い。http://www.google.co.jp/に行け!」となります。もし、google.co.jpが単なるドメイン名のみで割り当てられたIPアドレスが無い場合は、DNSでの名前解決ができないので返答自体が無く、Webブラウザは「サーバが見つからないか、DNSエラーです。」のような表示をします。
URL「http://www.google.co.jp/」とは「http」で「www.google.co.jp」に「/」のリソースを要求するという意味になり、www.google.co.jpの返答は「GoogleトップページのHTML」になります。
一方、
URL「http://yahoo.co.jp/」とは「http」で「yahoo.co.jp」に「/」のリソースを要求するという意味になり、yahoo.co.jpの返答は「Yahoo!トップページのHTML」で、
URL「http://www.yahoo.co.jp/」とは「http」で「www.yahoo.co.jp」に「/」のリソースを要求するという意味になり、www.yahoo.co.jpの返答も「Yahoo!トップページのHTML」ということで、yahoo.co.jpと同じものが返ってくることになります。

あと、#3の回答で、ステータスコード:302で返していると書きましたが
確認したところ、301 Moved Permanently(恒久的な移動)のようです。
Webブラウザの動作的には302と同一のなので、動作の説明は変わりませんが、
意味的に異なるので訂正します。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます!
ちょっぴり感動的ですらありました。
ご紹介いただいたURLも読み解けるように努力いたします。
本当にありがとうございました。

お礼日時:2007/07/07 23:31

No.3の方の回答が正しいです。



http://google.co.jp は、 「http://www.google.co.jp に行け」というレスポンスを返しています。
    • good
    • 0
この回答へのお礼

hito-kotoさま
ご回答ありがとうございます。
となると、GoogleもYahooも、www.が付くURLも付かないURLも実在し、googleの場合は、http://google.co.jpにアクセスすると、http://www.google.co.jpに行け!というメッセージだけを返し、
yahooはhttp://yahoo.co.jpというページのhtmlソースがhttp://www.yahoo.co.jpと同じになっているという事でしょうか?
よろしくお願い致します。

お礼日時:2007/07/07 16:48

Googleでwww.が補完され(たように見え)るのはHTTPの仕様とWebブラウザ(IE等)の機能です。



Webブラウザのアドレスバーにhttp://google.co.jpと入力した場合、Webブラウザはまずgoogle.co.jpにアクセスします。google.co.jpはそれに対し、「要求されたデータはwww.google.co.jpに移動している」と言うメッセージをWebブラウザに返しています(ステータスコード:302 Found<CR><LF>Location:http://www.google.co.jp/)。このメッセージを受け取ったWebブラウザはそのまま、http://www.google.co.jp/にアクセスしデータを取得して画面に表示しています。従って、ユーザから見ると、www.が補完されたように見えます。

yahoo.co.jpでは、Googleのように「移動した」メッセージを返すのではなく、yahoo.co.jp自身がwww.yahoo.co.jpと同じデータを返しています。したがって、www.が補完されることなくそのまま表示されています。
(DNSで同じIPを返しているのかと思ったら違いました。)

参考URLはHTTPサーバが返してくるステータスコードの一覧と解説を載せているサイトです。302 Foundのところが、google.co.jpで返してきたメッセージの意味になります。

参考URL:http://www.studyinghttp.net/status_code

この回答への補足

すいません。文字化けしてますね。文字化け部分は読み飛ばして下さい。

補足日時:2007/07/07 16:46
    • good
    • 2
この回答へのお礼

ご回答ありがとうございます。
紹介いただいたURLを拝見いたしましたが、私にはいささか難解でした。
となると、GoogleもYahooも、www.が付くURLも付かないURLも実在し、googleの場合は、​http://google.co.jp​にアクセスすると、​http://www.google.co.jpに行け!というメッセージだけを返し、
yahooはhttp://yahoo.co.jpというページのhtmlソースがhttp://www.yahoo.co.jp​と同じになっているという事でしょうか?
よろしくお願い致します。

お礼日時:2007/07/07 16:46

> 例えば、google.co.jpにアクセスしたい時に、IEのアドレスバーに


> http://google.co.jp と入力(www.を省略)してもGoogleの画面が表示され、表示された画面のアドレスバーにはhttp://www.google.co.jp/ と入れていないはずのwww.が追加されています

たぶんですが、IEのURL補完機能じゃぁないですか?


後述のほうは、DNSの仕組みでしょね。


ではでは~☆ミ
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2007/07/07 16:21

http://www.atmarkit.co.jp/fnetwork/rensai/dns01/ …
http://www.ocn.ad.jp/tw/dns_19.html

サーバ側のDNSでWWWの有り無しの両方のアドレスを同じサーバに割り当てているのでしょう。プロバイダのDNSというのは間違いです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2007/07/07 16:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報