URLを叩くと何が起こる?ブラウザ裏側をやさしく解説

エンジニア転職
この記事は約5分で読めます。
記事内に広告が含まれています。

まずは入力 → キャッシュを最速検索

ブラウザは最初に DNSキャッシュHTTPキャッシュ を確認。
過去データが有効なら即表示。だから リロードよりキャッシュ が速いわけです。

💡そもそもキャッシュって何?

キャッシュ(cache)とは、以前に読み込んだ情報を一時的に保存しておく仕組みです。

  • 🔄 DNSキャッシュ:ドメイン名に対応するIPアドレスを保存
  • 🗂 HTTPキャッシュ:HTML・画像・CSSなどのWebページの内容を保存

これらが残っていれば、わざわざ再度サーバーに取りに行かずに、すぐ表示できます。


次に DNS でドメイン → IP を解決

キャッシュに無ければ ルートDNS(ドメインネームシステム) → TLD(トップレベルドメイン) → 権威DNS の順で問い合わせ。
ここで IPアドレス が確定。まさに「住所録検索」のフェーズです。

💡DNSってなに?

簡単にいうと、「人がわかりやすい名前(例:google.com)」を「機械がわかる数字(例:142.250.196.78)」に変える仕組みです。

🔍 ルートDNSやTLD、権威DNSを解説

    ルートDNS(全ての出発点)

    • 世界に13個しかない「DNSの親分」。
    • 「このドメイン(例:google.com)は“.com”だから、.comを管理してるところに聞いてね」と教えてくれます。

    TLD DNS(トップレベルドメイン)

    • .com.jp.netなどの管理をしているDNSサーバー。
    • 「google.comなら、この権威DNSを見てね」と案内してくれます。

    権威DNS

    • 最後に、実際のIPアドレスを知っているDNS。
    • 「google.comは 142.250.196.78 だよ!」とIPアドレスを返してくれます

    プログラミング学習に最適なMacBookはこれ👇

    そしてTCP接続(3‑wayハンドシェイク)

    これは、「データを安全に送るための準備運動」みたいなものです!


    🎯 なぜ必要か?

    インターネットではちゃんと届くかどうか保証が必要
    そのためにお互いの準備を整えるのが「3-wayハンドシェイク」です。


    🤝 3-wayハンドシェイクの流れ

    💡前提:

    あなたのパソコン → クライアント
    Webサーバー → サーバー


    1. SYN(同期の要求)
      • クライアント「ねぇ、今から通信したいけど準備できてる?」
      • (SYNと呼ばれる信号を送る)
    2. SYN-ACK(了解+自分も準備OK)
      • サーバー「OK!準備できてるよ。そっちも本当に大丈夫?」
      • (SYNとACKを一緒に返す)
    3. ACK(最終確認)
      • クライアント「了解!通信開始しよう!」
      • (ACKを送って完了)

    こうして、安全で正確な通信のスタート準備が完了します✨


    さらに TLSハンドシェイクで暗号化

    ブラウザとサーバーのやり取りを安全にするために、HTTPSではTLS(Transport Layer Security)という仕組みが使われます。

    これは「盗聴や改ざんを防ぐための暗号化の準備」と言えます。


    🔒 TLSってなに?

    TLSは、インターネット上で安全に通信するための暗号化プロトコルです。

    HTTPだけだとデータは“丸見え”ですが、HTTPS(=HTTP + TLS)にすることで、やり取りの内容を見られなくなります。


    💬 たとえるなら…

    TLSは、「初対面の相手と安全な合言葉を決めてから会話を始める」ようなもの。

    「これから大事な話をするから、盗み聞きされないように合言葉決めよう!」
    → 「じゃあこのやり方で合言葉を作ろう」
    → 「OK!これで安全に話せるね!」


    🔑 TLSハンドシェイクのざっくり流れ

    1. 証明書の確認
      • サーバーは「私は◯◯という正当なサイトです」とデジタル証明書(SSL証明書)をブラウザに提示。
      • ブラウザは「この証明書、本当に信頼できる発行元から出てる?」と確認。
    2. 暗号のルールを決める
      • ブラウザとサーバーで「どの暗号方式を使うか」などの取り決めをします。
    3. 共通鍵を安全に生成・交換
      • 公開鍵・秘密鍵の技術を使って、共通鍵(暗号の鍵)を安全に共有します。
      • 以後の通信はこの共通鍵で暗号化されるため、外部からは解読できません。

    ✅ 結果:安全なHTTPS通信がスタート!

    このTLSハンドシイクが終わった瞬間から、
    「誰にも見られない安全な会話」が始まります。


    いよいよ HTTP リクエストを送信

    GET /index.html HTTP/1.1 のようなリクエストと一緒に
    ヘッダー(User‑Agent, Cookie など)も送られます。


    サーバーが HTTP レスポンスで応答

    HTML・CSS・JS・画像を順番に返却。
    200 OK404 Not Found などの ステータスコード に注目。


    最後に レンダリング & キャッシュ保存

    ブラウザエンジンが
    HTML 解析 → CSS 適用 → JavaScript 実行 → 描画 を高速ループ。
    同時にリソースを HTTPキャッシュ に保存し、次回表示を短縮。


    まとめ

    URL入力 → キャッシュ確認 → DNS解決 → TCP接続 → TLS暗号化 → HTTP通信 → レンダリング
    わずか数百ミリ秒で7ステップが一気に走り、ページが目の前に描かれます。
    すごくないですか!!!

    🔥エンジニアになりたい、なれるかなと迷ったらまずプロに無料相談しよう!
    独学に不安を感じたら、テックアカデミー無料相談 を活用してみましょう!
    無料相談だけ受けてみるのもありです!!!

    • ✅ 現役エンジニアが直接アドバイス!
    • ✅ 自分に合った学習計画を提案してもらえる!
    • ✅ オンラインで気軽に相談可能!

    タイトルとURLをコピーしました