ホームページの通信の仕組み
アウトバウンド通信とインバウンド通信 からの続きです。gorogoronyan のホームページにアクセスする例
リンク https://gorogoronyan.web.fc2.com/ をクリックするとgorogoronyanのホームページが表示されます。 ウェブブラウザを使う人がごく普通に行っている操作です。 このとき、どのような通信を行っているのか?についての話です。
インターネットの通信は gorogoronyan.web.fc2.com のようなホスト名で直接行うのではなく、 IPアドレス (たとえば、12.34.56.78 のような4つの数字) で相手を指定して行います。 そこで、最初にホスト名 gorogoronyan.web.fc2.com が IP アドレスではどう表されるかを知ることが必要です。 ホスト名に対応する IP アドレスを教えてくれるサービスが DNS (Domain Name System) です。
ブラウザが通信を始めると、最初に DNS サーバーにアクセスして gorogoronyan.web.fc2.com の IPアドレス 104.244.99.134 を教えてもらい、 その次に 104.244.99.134 の HTTP サーバーにアクセスして ホームページのデータ (HTMLや画像など) を受信します。
サイトによっては上の絵の 1), 2) の通信を省略して 3), 4) の通信だけでホームページを見ることもできます。 URL でホスト名の代わりに IP アドレスを直接指定します。
● URLの例 http://***.***.***.***/ *** は数字。IP アドレスを直接指定します。 補足: gorogoronyan.web.fc2.com は IP アドレスで直接アクセス することはできません。
ウェブブラウザはサーバーから HTML を受信すると、 HTML の中身を調べてホームページ内で使用されている画像や CSS などの部品(リソースといいます) があるかどうかを探します。 これらのリンクをみつけると再び 3),4) の通信を行ってリソースを受信し、 ブラウザに表示します。 異なるサイトに通信する場合は 1) の通信から行います。
このような通信は Webブラウザのデバッガでも見ることができます。
ホームページの通信をWebブラウザで眺める
関連
- インターネット通信の仕組み
- ホームページの通信をWebブラウザで眺める
- nslookup の使い方 ホスト名に対応する IP アドレスを調べたいときに使います。
- node.js HTTPサーバーのサンプル