• ベストアンサー

URLのwww部分の省略?

例えば、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の 例で、それだとツジツマが合わないような気がしてきました。 どなたか、このメカニズムがお分かりの方がいらっしゃいましたら ご教授ください。お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • kabinett
  • ベストアンサー率60% (9/15)
回答No.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と同一のなので、動作の説明は変わりませんが、 意味的に異なるので訂正します。

pachi4out
質問者

お礼

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

その他の回答 (4)

  • hito-koto
  • ベストアンサー率53% (14/26)
回答No.4

No.3の方の回答が正しいです。 http://google.co.jp は、 「http://www.google.co.jp に行け」というレスポンスを返しています。

pachi4out
質問者

お礼

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と同じになっているという事でしょうか? よろしくお願い致します。

  • kabinett
  • ベストアンサー率60% (9/15)
回答No.3

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
pachi4out
質問者

お礼

ご回答ありがとうございます。 紹介いただいた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​と同じになっているという事でしょうか? よろしくお願い致します。

pachi4out
質問者

補足

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

回答No.2

> 例えば、google.co.jpにアクセスしたい時に、IEのアドレスバーに > http://google.co.jp と入力(www.を省略)してもGoogleの画面が表示され、表示された画面のアドレスバーにはhttp://www.google.co.jp/ と入れていないはずのwww.が追加されています たぶんですが、IEのURL補完機能じゃぁないですか? 後述のほうは、DNSの仕組みでしょね。 ではでは~☆ミ

pachi4out
質問者

お礼

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

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.1

http://www.atmarkit.co.jp/fnetwork/rensai/dns01/dns01.html http://www.ocn.ad.jp/tw/dns_19.html サーバ側のDNSでWWWの有り無しの両方のアドレスを同じサーバに割り当てているのでしょう。プロバイダのDNSというのは間違いです。

pachi4out
質問者

お礼

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

関連するQ&A