ブラウザでURLを開いてからブラウザが反映されるまでの一覧の流れについて
前提知識 (ICP/IP)
層 | 名称 | 規格(プロトコル) | 主な利用例 |
---|---|---|---|
4層 | アプリケーション層 | HTTP, HTTPS, SMTP, POP3, IMAP4, DHCP, DNSなど | Webサイト閲覧、メール、ファイル転送など |
3層 | トランスポート層 | TCP, UDP, NetWare/IPなど | TCP/UDP(データを適切なアプリケーションへ振り分け) |
2層 | インターネット層 | IP, ARP, RARP, ICMPなど | ルーティング、エンドツーエンド通信 |
1層 | ネットワークインタフェース層 | Ethernet | LAN |
-
URL解析: ブラウザが入力されたURLを解析し、使用するプロトコル(通常はHTTPまたはHTTPS)を特定します。また、ホスト名やパスなどの構成要素も解析します。
-
DNS解決: ブラウザはホスト名(例: www.example.com)をIPアドレスに変換するために、DNS(Domain Name System)を使用します。DNSは、与えられたドメイン名から対応するIPアドレスを見つけるための分散型データベースです。
-
TCP接続の確立: ブラウザは目的のサーバーに対してTCP(Transmission Control Protocol)接続を確立します。これにより、ブラウザとサーバー間での信頼性のあるデータ転送が可能になります。
-
TLSハンドシェイクと暗号化: もしHTTPSプロトコルを使用している場合、ブラウザとサーバーはTLS(Transport Layer Security)ハンドシェイクを行い、安全な通信を確立します。TLSによってデータは暗号化され、第三者による盗聴や改ざんから保護されます。
-
HTTPリクエストの送信: ブラウザはHTTP(Hypertext Transfer Protocol)リクエストをサーバーに送信します。このリクエストには、ブラウザが要求するページやリソースの情報が含まれます。
-
サーバーの処理とレスポンスの送信: サーバーは受け取ったリクエストを処理し、適切なレスポンスを生成します。これには、HTMLページや画像、スタイルシート、JavaScriptファイルなどが含まれます。サーバーはこれらのレスポンスをHTTPレスポンスとしてブラウザに送信します。
-
ブラウザでのレンダリング: ブラウザは受け取ったレスポンスを解釈し、HTMLを解析してWebページを構築します。画像やスタイルシートなどの他のリソースも必要に応じてダウンロードされ、ページの表示が完了します。
-
接続の終了: ブラウザとサーバーの間の通信が終了し、TCP接続が閉じられます。これにより、ブラウザは必要に応じて他のページやリソースを取得するために新しい接続を確立する準備が整います。
この一連の流れによって、ブラウザはURLを開いてからユーザーに反映されるまでの全体のプロセスが実行されます。
手順ごとの使用する層のテーブル
ステップ | 使用する層 |
---|---|
1. URL解析 | アプリケーション層 |
2. DNS解決 | アプリケーション層 |
3. TCP接続の確立 | トランスポート層 |
4. TLSハンドシェイクと暗号化 | トランスポート層 |
5. HTTPリクエストの送信 | アプリケーション層 |
6. サーバーの処理とレスポンスの送信 | アプリケーション層、トランスポート層 |
7. ブラウザでのレンダリング | アプリケーション層 |
8. 接続の終了 | トランスポート層 |