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?

ブラウザにおけるURLによるリクエストからDNSサーバーを介したIPアドレスの取得までのプロセス

Posted at

ブラウザとDNS:Webページ表示までの流れ

私たちがブラウザでURLを入力してWebサイトにアクセスする際、実はその裏で「DNS」と呼ばれる仕組みが重要な役割を果たしています。本記事では、たとえば Amazon の商品ページ(例:https://www.amazon.co.jp/a_merchandise)を開こうとしたときに、ブラウザがどのようにして該当するサーバーにたどり着くのかを、DNSの仕組みを中心に解説します。

DNS(Domain Name System)とは?

インターネット上の通信は、実際には「IPアドレス」を使って行われます。たとえば 192.0.2.12606:2800:220:1:248:1893:25c8:1946 といった文字列がそれにあたります。ただし、これらの数値を覚えるのは困難なため、人間が扱いやすい「ドメイン名」という形式が使われています。

たとえば www.amazon.co.jp と入力すれば、そのドメイン名に対応するIPアドレスをDNSが自動的に探し出してくれます。これが、DNSの基本的な役割です。つまりDNSは、「ドメイン名」から「IPアドレス」への変換装置として機能しています。

URL構造とDNSの関係

では、https://www.amazon.co.jp/a_merchandise というURLを例に、どこがDNSに関係する部分かを見てみましょう。

URLは一般に、以下のような構造をしています。

[プロトコル]://[ホスト名(ドメイン名)]/[パス]?[クエリ]#[フラグメント]

この中で、DNSに関係するのは「ホスト名(ドメイン名)」、すなわち www.amazon.co.jp の部分です。
ホスト名(ドメイン名)は:// のあとから最初の / までとして取得されます。
このドメイン名が、DNSサーバーに問い合わせられ、対応するIPアドレスが返されることで、初めてブラウザは正しいWebサーバーに接続できるようになります。

一方、URLの後半 /a_merchandise の部分は「パス」にあたり、実際に接続されたWebサーバーが処理する領域です。これはWebサーバー内部のファイル構造やルーティングに依存しており、DNSとは関係ありません。

DNSの解決手順

ブラウザがドメイン名をIPアドレスに変換するには、DNSリゾルバと呼ばれる仕組みを通じて、複数のDNSサーバーに問い合わせを行います。

まず、ユーザのPCやISP(インターネットサービスプロバイダ)が持つDNSリゾルバが、キャッシュにIPアドレスの情報を持っているかを確認します。もしキャッシュにない場合、次のような順序で問い合わせが行われます:

  1. ルートDNSサーバー:インターネット全体の出発点。ここでは「.」(ドット)に対応する情報が保持されています。
  2. TLD DNSサーバー:たとえば「jp」などのトップレベルドメインに対応するサーバー。※jpは日本
  3. セカンドレベルドメインのDNS:たとえば「co.jp」。※co.jpは日本の法人向け
  4. 権威DNSサーバー:最終的に「amazon.co.jp」の情報を正しく持っているDNSサーバー。

このように、DNSは階層構造になっており、「ルート」から始まり「jp」→「co.jp」→「amazon.co.jp」→「www」とたどる形で、目的のIPアドレスにたどり着きます。

名前解決の完了とWebリクエスト

最終的にIPアドレスが見つかると、それがDNSリゾルバを通じてブラウザに返されます。これによって、ブラウザははじめてそのIPアドレス宛にHTTPリクエストを送ることができるようになります。こうして、Webページの表示に必要な情報が取得され、ユーザの画面にAmazonの商品ページが表示されるのです。

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?