【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は、クライアント(ブラウザなど)がサーバーにリクエストを送る際の「宛先情報」です。
リクエストの流れ
- ユーザーがURLを入力する、またはリンクをクリック
- ブラウザがDNSでドメイン(URLの一部)をIPアドレスに変換
- IPアドレスとポートに対してHTTPリクエストを送信(インターネット上のサーバーの住所を特定し、そのサーバー内のサービスを特定して送信します)
- サーバーはパスやクエリをもとに、該当の処理(ルーティング)を実行
- サーバーは結果をHTTPレスポンスとして返す
URLはこの一連の流れにおける「はじまり」です。どの処理に進むべきかを決める重要なヒントになります。
まとめ
URLは単なるアドレスではなく、Web開発の基盤となる重要な情報の集合体です。
どんな手段で、どのサーバーのどこにアクセスするかを示す重要な役割を持っています。サーバーはこのURLを元に、どんなURLが来たら、どう処理するのかというルーティングを行なうため、URLの理解はとても重要です。
最後までお読みいただき、ありがとうございました。
参考・画像引用元URL
Discussion