Webサイトが表示されるまで
ブラウザへURLを入力してから、Webサーバーの応答が画面に表示されるまでを順にたどります。
このレッスンのメニュー
ブラウザへWebサイトのURLを入力すると、少し待つだけでページが表示されます。 その間に、ブラウザは接続先を調べ、Webサーバーへページを要求し、返ってきたデータを画面に表示しています。
ブラウザからWebサーバーへ送る要求をリクエスト、Webサーバーから返す結果をレスポンスと呼びます。 一回のやり取りを段階に分けると、ページを開けないときにどこまで成功したか確認できます。
URLから接続先を調べる
URLは、ブラウザへ接続方法と要求先を伝える表記です。
たとえばhttps://example.com/docsには、HTTPSを使うこと、example.comへ接続すること、/docsを要求することが書かれています。
example.comのような接続先の名前をホスト名と呼びます。
ブラウザはOSへ名前の検索を頼み、OSはDNSという仕組みを使って、ホスト名に対応するIPアドレスを調べます。
IPアドレスは、ネットワーク上の通信先を指定する情報です。 OSと途中のルーターは、宛先のIPアドレスを見てデータを次の機器へ渡します。
Webサーバーへ接続する
IPアドレスが分かると、ブラウザはOSへWebサーバーとの接続を頼みます。 OSはTCPという通信の決まりに従い、相手へデータを順番どおり届けるための接続を作ります。
一台のサーバーでは複数のプログラムが通信を待てます。 ポート番号は、その中でどのプログラムへ届けるかを指定する番号です。 HTTPSでは通常、443番ポートへ接続します。
暗号化してページを要求する
HTTPSでは、ブラウザとWebサーバーがTLSという決まりに従い、通信相手を確認して暗号化の準備をします。
そのあと、ブラウザはHTTPという決まりに従って「/docsを取得したい」というリクエストを送ります。
Webサーバーはリクエストを受け取り、HTMLなどをHTTPレスポンスとして返します。 ブラウザがHTMLを読み、文字や画像を配置すると、ページが画面に表示されます。
どこまで成功したか確かめる
| 段階 | 起きていること | 失敗したときの例 |
|---|---|---|
| 名前を調べる | ホスト名からIPアドレスを得る | 接続先の名前が見つからない |
| 接続する | OSが指定されたポートへTCP接続を作る | 接続を拒否される、応答を待ち続ける |
| 暗号化を準備する | ブラウザとWebサーバーが相手を確認する | 証明書の警告が表示される |
| ページを要求する | HTTPリクエストとレスポンスを交換する | 404や500などの結果が返る |
| 画面を作る | ブラウザが受け取ったデータを表示する | レイアウトや画像だけが崩れる |
404などのHTTPレスポンスが返った場合、名前の検索、TCP接続、TLSの処理、HTTPリクエストの送信までは進んでいます。 表示された結果から一段ずつ戻ると、確認する設定やログを絞れます。
後のネットワーク基礎では、IP、TCP、ルーター、通信を許可する設定を個別に扱います。
このレッスンは完了
このページで扱った流れを確認したら、次の内容へ進みます。