1
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?

URLをクリックしてページが表示されるまでに何が起きているのか?【HTTP】

Last updated at Posted at 2025-10-05

HTTPについて勉強している過程でまとめてみました。
URLの基本構造と、URLをクリックしてページが表示されるまでの流れに分けて書いています。

誤りなどがあればご教示いただけますと幸いです。

URLの基本構造

まずはURLの基本構造を見ていく。

URLはスキーマ、オーソリティ、リソースへのパス、クエリパラメータで構成されている。

例として 郵便局HP | 100-0005 の検索結果 のページのURLを見てみよう。

https://www.post.japanpost.jp/cgi-zip/zipcode.php?zip=1010005

このURLは、以下のような構造になっている。

httpsがスキーマ部分、www.post.japanpost.jpがオーソリティ部分、cgi-zip/zipcode.phpがパス部分、?以降のzip=1010005がクエリ部分

スキーマ

英語で仕様のこと。
httpsの部分が相当し、「通信規格はHTTPSを使ってね」という指示になる。

HTTPSとは?
「暗号化されたHTTP」のこと。HTTPとは「WebサーバーとWebブラウザが情報をやり取りする時の通信規格」である。
HTTPでは、クライアント(ユーザーのPCなど)がサーバーにリクエストを送るサーバーがクライアントにレスポンスを返す という流れで通信が行われる。
HTTPの特徴として、一つのリクエストに対して一つのレスポンスが返る というのがある。もちろん、通信全体では一回の接続で複数のリクエストとレスポンスをやり取りできるが、それぞれのリクエストとレスポンスは必ず一対一で対応する。

オーソリティ

①ユーザー情報、②ホスト名、③ポート番号 を含む部分の総称。
基本構文は [ユーザ情報@]ホスト名[:ポート番号] である。

たとえばウェブ開発でよく使う http://localhost:3000 は、②ホスト名:localhost 、③ポート番号:3000

URL再掲:
https://www.post.japanpost.jp/cgi-zip/zipcode.php?zip=1010005

この場合、 www.post.japanpost.jp がオーソリティ部分に相当する。
内容は ②ホスト名:www.post.japanpost.jp のみ。

詳細は割愛するが、今回のホスト名 www.post.japanpost.jp は以下のような構造になっている。

  • www:省略可能。World Wide Web というシステムを使うよという指示
  • post:サブドメイン(メインサイト内のサブサイトのようなイメージ)
  • japanpost:メインドメイン(メインサイトのドメイン)
  • jp:最上位ドメイン

リソースへのパス

参照したいファイルなどの場所を示す部分。

URL再掲:
https://www.post.japanpost.jp/cgi-zip/zipcode.php?zip=1010005

この場合、/cgi-zip/zipcode.php が相当し、「/cgi-zip/zipcode.php というパスのファイルを参照したいんだけど」という指示になる。

クエリパラメータ

ウェブページに渡すための引数。
URLの後ろの方で、? 以降に key=value を書く形で記述される。

URL再掲:
https://www.post.japanpost.jp/cgi-zip/zipcode.php?zip=1010005

この場合、? 以降の zip=1010001 の部分が相当し、「あ、zip1010001 でお願いします」という指示になる。

URLをクリックしてページが表示されるまでの流れ

*クライアント:ユーザーのPCのこと

1. URLの文字列からホスト名を取り出し、DNSにサーバーのIPアドレスを問い合わせる

クライアント:
(ページを表示したいけど、サーバーの住所はどこだ?)

クライアント:
(ふむ、住所を知るには、DNSというシステムに問い合わせればいいのか。問い合わせの際にはホスト名が必要らしい)

*DNS=Domain Name System
ホスト名(たとえばja.wikipedia.org)の入力に対して、DNSサーバと呼ばれるコンピュータを参照し、そのホストが持つIPアドレス(たとえば130.94.122.197)を検索するシステムである。
(出典:Domain Name System | Wikipedia

クライアント:
(今回のページのホスト名は www.post.japanpost.jp だな)

...

クライアント:
「DNSさん、www.post.japanpost.jp の住所を教えてほしいんですが…」

DNS:
「ほい」つIPアドレス

2. クライアント(ブラウザ)が、特定したIPアドレスにあるサーバーにリクエストを送信する

クライアント:
(よし、DNSからもらったIPアドレス上のサーバーに、リクエストを送信しよう)

クライアント:
「hey、ページに表示する内容をください」

3. サーバーからクライアントにレスポンスが返される

サーバー:
「ほい、これが結果だよ」つHTMLファイルとか

4. クライアントが受け取ったレスポンスをもとにページの内容を表示する

クライアントのブラウザ:
「これをこうして…こうじゃ!」(レンダリング)

参考文献

1
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
1
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?