Webサイトがドメインで表示されるまでには、ドメイン、DNS、ホスティング、HTTPS、ブラウザの複数の仕組みが関係します。
一言でいうと
独自ドメインでWebサイトを表示するには、ドメイン名を取得し、DNSで配信先へ向け、ホスティング先がHTTPSでページを返せる状態にします。
全体の流れ
ドメインを取得する
-> ネームサーバーを決める
-> DNSゾーンにレコードを設定する
-> ホスティング先にドメインを登録する
-> HTTPS証明書が発行される
-> ブラウザでURLを開く
-> DNSで配信先を調べる
-> サーバーまたはCDNへ接続する
-> HTML/CSS/JSが返る
-> 画面に表示される
この流れのどこかが失敗すると、ドメインを入力してもWebサイトは正しく表示されません。
登場人物
| 登場人物 | 役割 |
|---|---|
| レジストラ | ドメインを登録・管理する事業者 |
| ネームサーバー | そのドメインのDNS情報を案内するサーバー |
| DNSゾーン | AレコードやCNAMEなどの設定場所 |
| ホスティングサービス | Webサイトのファイルやアプリを配信する場所 |
| 認証局 | HTTPS証明書を発行する組織 |
| ブラウザ | URLを開き、DNSとHTTP通信を行って画面を表示する |
ドメイン取得だけでは表示されない
ドメインを買うと、example.com のような名前を使う権利を得ます。しかし、それだけではWebサイトは表示されません。
必要なのは、次の対応です。
- どのDNSで管理するか決める
- DNSレコードで配信先を指定する
- ホスティング側にドメインを登録する
- HTTPS証明書を発行する
- wwwあり・なしの扱いを決める
ドメイン取得は「名前を持つこと」であり、Webサイト公開は「その名前を配信先へ正しく向けること」です。
ブラウザ側で起きること
利用者が https://www.example.com/ を開くと、ブラウザは次のように処理します。
| 順番 | 処理 |
|---|---|
| 1 | URLを読む |
| 2 | DNSで www.example.com の配信先を調べる |
| 3 | サーバーまたはCDNへ接続する |
| 4 | HTTPSのためにTLSハンドシェイクを行う |
| 5 | HTTPリクエストを送る |
| 6 | HTML、CSS、JavaScript、画像を受け取る |
| 7 | 画面を描画する |
この利用者側の流れは、ブラウザでURLを開いてから画面が表示されるまで と合わせて読むと理解しやすいです。
管理者側で起きること
Webサイトを公開する側は、次を準備します。
| 作業 | 目的 |
|---|---|
| ドメイン取得 | 使う名前を確保する |
| DNS設定 | 名前を配信先へ向ける |
| ホスティング設定 | サイトを配信できる状態にする |
| HTTPS設定 | 安全な通信にする |
| リダイレクト設定 | wwwあり・なしやHTTP/HTTPSを統一する |
| 確認 | DNS、HTTPS、表示、リンクを確認する |
よくある誤解
| 誤解 | 実際 |
|---|---|
| ドメインを買えばすぐ表示される | DNSとホスティング設定が必要です |
| DNSを設定すればHTTPSも自動で完了 | ホスティング側の証明書発行が必要です |
| Aレコードだけ設定すれば十分 | www、リダイレクト、HTTPSも考えます |
| 表示されない原因は必ずDNS | ホスティング、TLS、リダイレクト、キャッシュも関係します |
まとめ
Webサイトがドメインで表示されるまでには、ドメイン取得、ネームサーバー、DNSレコード、ホスティング、HTTPS、ブラウザ表示が関係します。初心者はまず「名前を取る」「名前を向ける」「サイトを返す」「安全に表示する」の4段階で考えると整理しやすくなります。
参考リソース
- MDN: How does the Internet work?
- ICANN: Domain Name Registration Process
- MDN: What is a domain name?