0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PCからWebサイトが開くまでの流れを理解する!

0
Last updated at Posted at 2026-07-25

はじめに

「ブラウザにURLを打ち込めばWebページが見られる」——これは当たり前すぎて、普段は裏側を意識することがありません。

しかし実は、PCは電源を入れた直後、自分がどのアドレスを名乗ればいいのかも分からない状態で、
そこからブラウザにURLを打ち込んでページが表示されるまでのたった数秒間に、裏側では複数のプロトコルが連携して動いています。

この記事では、その流れを5つのステップに分けて整理してみました。
自分自身の理解の整理も兼ねているので、間違いがあったらすいません🙏

webページ表示.png

登場人物

登場人物 正体 役割を一言で言うと
PC クライアント Webページを見たい人
ルータ ルータ(DHCPサーバ兼デフォルトゲートウェイ) 家の中でのIPアドレスを配り、外への出入り口も管理してくれる案内係
DNSサーバ DNSサーバ 「名前」から「住所(IPアドレス)」を教えてくれる係
Webサーバ Webサーバ(今回はYahoo!を例に) Webページのデータを持っている人

1. DHCPによる身元確認

PCの電源が入った直後、PCは自分のIPアドレスすら知りません。そこでPCはネットワーク内に向かって「誰か私にIPアドレスを教えて!」とブロードキャスト通信で呼びかけます。

それを受け取ったルータ(家庭用ネットワークではDHCPサーバの役割も兼任していることが多い)が、次のような設定を返します。

  • IPアドレスは 192.168.1.10
  • 外の世界に出たいときは、デフォルトゲートウェイである 192.168.1.1(ルータ)に聞く

これでPCはネットワークに参加できる状態になりました。

補足: 実際のDHCPは「DISCOVER → OFFER → REQUEST → ACK」という4段階のやり取り(通称DORAプロセス)で行われています。

2. DNSによる名前解決

ブラウザに https://www.yahoo.co.jp と入力しても、PCは「IPアドレス(数字)」でしか通信相手の場所を理解できません。

そこでPCはDNSサーバに「www.yahoo.co.jp のIPアドレスは何番か」を問い合わせます。DNSサーバから 183.79.x.x という回答を受け取ることで、最終的な宛先が判明します。

補足: ブラウザやOSは一度調べた結果をキャッシュするため、毎回問い合わせているわけではないとのこと。

3. ARPによるMACアドレス解決

Yahooのサーバは家の外にあるため、まずはルータにデータを渡す必要があります。

PCはルータのIPアドレス(192.168.1.1)は知っていますが、同じネットワーク内でデータを物理的に届けるために必要なMACアドレスは知りません。そこでARPという仕組みを使い、「192.168.1.1 のMACアドレスを教えて」と問い合わせて解決します。

補足: このARP解決は毎回行われるわけではなく、一度取得したMACアドレスはPC内のARPテーブルに一定時間キャッシュされます。通常は初回のみ発生します。

4. NAT / NAPTによるアドレス変換

データを受け取ったルータは、それをインターネット側へ送り出そうとします。

ただしPCのIP(192.168.1.10)は家の中でしか通用しないプライベートIPアドレスです。このまま外に出ると、返信の宛先が分からなくなってしまいます。

そこでルータはNAT / NAPTという機能を使い、送信元アドレスを「インターネット上で通用するグローバルIPアドレス」に変換してから外へ送信します。

5. TCP・HTTPによる通信

複数のルータによる中継を経て、データは無事Webサーバに到着します。

ここでいきなりHTTPリクエストを送るわけではなく、まずTCPの3ウェイハンドシェイク(SYN → SYN/ACK → ACK)によってサーバとの間にコネクションを確立します。その後にHTTPリクエスト(「このページのデータをください」という要求)を送り、サーバからHTMLなどのレスポンスが返ってきます。

帰り道もルータがNATで宛先をPCのプライベートIPに変換し直し、ブラウザにWebページが表示されます。

補足: 今どきの https:// 通信では、TCP接続の後にさらにTLSハンドシェイク(証明書の検証と暗号鍵の交換)が挟まります。

全体の流れ

まとめ

このように、DHCP・DNS・ARP・NAT・TCP・HTTPといった各プロトコルは、それぞれ別々の役割を持ちながらも、すべて「Webページを見る」というひとつの目的のために連携しています。

普段は数秒で終わってしまうこの裏側の流れを、今回は一つずつ言葉にして整理してみました。
同じように「なんとなく分かった気になっていたけど説明できない」という方の理解の助けになれば嬉しいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?