DESIGN / CODE / INFRA / AI

解説

URL・ドメイン・サーバーの違いは?アドレスを分けて理解しよう

URLを分解する作例で、ドメイン・パス・クエリーを確認。DNSやサーバーの役割も、ページが届く流れから理解しよう。

URL・ドメイン・サーバーの違いは?アドレスを分けて理解しよう

ブラウザに入れるURL、契約で見かけるドメイン、Webサイトを置くサーバー。似た言葉に感じるけれど、それぞれ役割が違うよ。

この記事の目標は、URLのどこが接続先で、どこがページの指定なのかを見分けること。契約や設定変更はせず、ブラウザの作例だけで試せるよ。

3つの言葉を分けよう

言葉 まず押さえたい役割
URL Web上のページや画像などを指定するアドレス
ドメイン名 example.comのような、接続先の名前
Webサーバー ブラウザからの要求に応じて、ページやデータを返す仕組み

「お店の住所」と「お店そのもの」が別なのと同じように、名前と、実際に応答する仕組みは分けて考える。住所のたとえは入口として便利だけれど、一つの名前が一台のコンピューターだけに対応するとは限らないよ。

URLを小さく分けてみる

https://example.com/guide/start?from=menu#step1
  • https:通信方法を示す部分。この例ではHTTPSを使う。
  • example.com:接続先のホスト名。この例ではドメイン名。
  • /guide/start:ページやデータを指定するパス。
  • ?from=menu:追加情報を付けるクエリ文字列。
  • #step1:ページ内の位置などを指定するフラグメント。

HTTPSは通信を保護するための仕組みだけれど、それだけでサイトの内容や運営者が信頼できると決まるわけではないよ。

URL・DNSによる名前の確認・サーバーの応答を分けた概念図

名前から接続先を調べるDNS

DNSは、ドメイン名に対応する接続先の情報を調べるための仕組み。ブラウザは必要な情報を得てから、接続先へページなどを要求する。

実際には、以前の問い合わせ結果を一時的に覚える仕組みや、間に入って配信するサービスもある。そのため、ページを一回開くたびに、必ず同じ一台へ同じ順序で新しい問い合わせをするとは限らないんだ。

「名前を調べる段階」と「ページを返す段階」を分けると、つながらない理由を考えやすくなるね。

作例でURLを分解する

URLを分けて見る作例に、上の例を入れてみよう。この作例は文字列をブラウザ内で分解するだけで、入力した接続先へアクセスしないよ。

  1. URLを入力する。
  2. 「分けて見る」を押す。
  3. ホスト名がexample.com、パスが/guide/startと表示されるか確認する。
  4. 末尾の#step1を消して、フラグメント欄だけが空になるか比べる。

作例では、ホスト名・パス・クエリ・フラグメントが上の内容に分かれることと、URLとして読めない入力でエラー表示になることを確認した。

フラグメントは、通常のHTTPリクエストでサーバーへ送られるURLの部分には含まれない。一方、パスはサーバー側で解釈される。画面に出るURL全体が、そのままサーバーのフォルダ構成というわけではないよ。

契約前に確認したいこと

ドメインを取得しただけで、Webサイトの内容まで用意されるとは限らない。サーバーや公開方法、名前をつなぐ設定が別に必要な構成もあるよ。一体型サービスなら、どこまで含まれるかをサービスの説明で確認しよう。

この基本が分かると、canonicalとリダイレクトの違いも読みやすくなる。画像やリンクの場所で迷った場合は、相対パスの入門へ進んでみてね。

動かしてみよう:URLを分けて見る

URLを入力して「分けて見る」を押そう。入力先への通信は行わないよ。

参考・出典

みんなのコメント 0

感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。

最初のコメントをどうぞ。