【URL】URLの基本構造と役割

に公開

はじめに

Webアプリケーションを開発するうえで、URLはとても重要で、単なるアドレスではなく、リクエストの入口として重要な役割を果たします。
本記事では、URLの基本についてまとめていきます。

URLとは

URL(Uniform Resource Locator)は「Web上のリソースの場所を表す文字列」のことを指します。「どこに、何を、どうやって取りに行くか」の情報をすべて含んでいます。

文字列を使って、ブラウザは「どのWebサーバーの、どのデータを取得すべきか」を判断します。URLはユーザーがアクセスする入口であると同時に、サーバーがリクエストを処理するための手がかりにもなっています。

URLの構成要素(スキーム、ドメイン、ポート、パス、クエリ、フラグメント)


https://www.geeksforgeeks.org/what-is-url-uniform-resource-locator/ より

各要素
・スキーム:https:// の部分。通信プロトコルを指定します(http, https, ftp など)。
・ドメイン:geeksforgeeks.orgの部分。アクセス先のサーバーを識別するための名前です。
・ポート番号::80の部分。サーバーが使う通信口(省略可能。httpsなら443、httpなら80と一部決まっています)
・パス:/array-data-structureの部分。どのリソース(ページ・API)にアクセスするかを表します。
・クエリ文字列:?ref=home-articlecardsの部分。?はクエリと言い、キーと値で構成された追加情報(GETパラメータ)を渡します。
・フラグメント:#what-is-arrayの部分。ページ内の特定位置へのジャンプし、サーバーには送信されません。

スキームで、どんな手段でアクセスするか(通信方法)を、
ドメインで、どのサーバーにアクセスするかを、
パスで、そのサーバーの中のどの場所かを、
クエリ文字列で、さらにどの情報を指定するか を決めています。

Webの仕組みとURLの関係

URLは、クライアント(ブラウザなど)がサーバーにリクエストを送る際の「宛先情報」です。

リクエストの流れ

  1. ユーザーがURLを入力する、またはリンクをクリック
  2. ブラウザがDNSでドメイン(URLの一部)をIPアドレスに変換
  3. IPアドレスとポートに対してHTTPリクエストを送信(インターネット上のサーバーの住所を特定し、そのサーバー内のサービスを特定して送信します)
  4. サーバーはパスやクエリをもとに、該当の処理(ルーティング)を実行
  5. サーバーは結果をHTTPレスポンスとして返す

URLはこの一連の流れにおける「はじまり」です。どの処理に進むべきかを決める重要なヒントになります。

まとめ

URLは単なるアドレスではなく、Web開発の基盤となる重要な情報の集合体です。
どんな手段で、どのサーバーのどこにアクセスするかを示す重要な役割を持っています。サーバーはこのURLを元に、どんなURLが来たら、どう処理するのかというルーティングを行なうため、URLの理解はとても重要です。
最後までお読みいただき、ありがとうございました。

参考・画像引用元URL

https://www.geeksforgeeks.org/what-is-url-uniform-resource-locator/
https://t-tel.net/domain/078/
https://www.hostinger.com/tutorials/what-is-a-url
https://www.techpit.jp/courses/64/curriculums/67/sections/538/parts/1853
https://kinsta.com/jp/knowledgebase/what-is-a-url/

Discussion