Uniform Resource Locator(URL)、日本語では一般に「ウェブアドレス」や「ユニフォーム・リソース・ロケーター」と呼ばれます。URLは、文字や数字、それに標準的な記号を組み合わせて書かれ、ウェブ上の特定の場所(リソース)を指定するために使われます。ユーザーはウェブブラウザのアドレスバーにURLを入力したり、ページ上のリンクをクリックしたりして、別のコンピュータ(ウェブサーバー)から特定のリソース(多くの場合はウェブページ)を取得し表示します。インターネット上で情報に到達するための「住所」とイメージすると分かりやすいです。
URLの主な構成要素
URLはいくつかの部分から成り立ち、それぞれが意味を持ちます。代表的な要素は次の通りです。
- プロトコルのこと(スキーム):通信に使う方法を示します。例えば http、https、ftp、mailto などがあります。多くのウェブページは ハイパーテキスト転送プロトコル (HTTP) またはその暗号化版の HTTPS を使います。
- 区切り文字:通常は :// がプロトコルと残りの部分を分けます(例:https://)。
- ホスト名やドメイン(サーバーの名前またはアドレス):サイトを識別します。たとえば www.example.com のような形式です。www は World Wide Web を意味するサブドメインですが、必須ではなく管理者が決めます。
- (省略可)ポート番号:サーバーの特定の通信ポートを指定する場合、ホスト名の後に : と数字で表します(例::80、:443)。
- (省略可)パス:サーバー上のファイルやプログラムの場所を示します(例:/path/to/page.html)。
- (省略可)クエリ文字列:スクリプトや動的ページへ渡すパラメータを ? の後に続けて書きます(例:?id=123&sort=asc)。
- (省略可)フラグメント(アンカー):ページ内の特定位置へジャンプする識別子を # の後に記述します(例:#section2)。
- (古い形式だが存在する)ユーザー名とパスワード:URLの先頭に user:pass@ を付ける形式もありますが、安全上の理由で現在は推奨されません。
具体例と解説
このページのURLを例にとると:
https://simple.wikipedia.org/w/index.php?title=Uniform_Resource_Locator
- https はプロトコル(暗号化されたHTTP)です。
- simple.wikipedia.org はウェブサイト(ホスト名/ドメイン)です。
- /w/index.php は実際に呼び出されるスクリプトやリソースのパスで、その後にある title=Uniform_Resource_Locator がパラメータ(クエリ)です。
相対URLと絶対URL
絶対URLはプロトコルやホスト名を含む完全な形式で、どこからでも同じリソースを指します。共有やブックマークに向いています。一方、相対URLは現在のページの場所を基準にした短い形式で、同一サイト内でのリンクに便利です。たとえば、同じサイト内で /wiki/URL のように書くと、そのサイト内の特定ページを指しますが、他のサイトや外部の文脈では正しく解決できないことがあります。
URLとURIの違い
URLは、しばしばURI(Uniform Resource Identifier)の一種として扱われます。URIはリソースを識別するための総称で、URLは「場所(Location)とアクセス方法」を示す識別子です。現実には両者の使い分けは曖昧で、ほとんどの場合区別しなくても問題ありません。ただし学術的には、URN(Uniform Resource Name)など他のURIの種類も存在する点を知っておくとよいでしょう。
実務上の注意点と補足
- URLに使える文字には制限があり、スペースや一部の記号はパーセントエンコーディング(例:スペースは %20)が必要です。
- IDN(国際化ドメイン名)では非ASCII文字を表すためにPunycodeが使われる場合があります(例:xn--で始まる表記)。
- セキュリティ:https が使われているかどうかで通信の暗号化の有無が判断できます。パスワードや個人情報を送る場合は https の利用が必須です。
- リンク先の構造(クエリやパス)には個人情報を含めないよう注意してください。ブラウザやログに残ることがあります。
- ウェブブラウザは入力補完や正規化(例:省略されたポート番号の補完)を自動で行うことがありますが、URLそのものを正確に共有したい場合はコピーして渡すのが確実です。
まとめ
URLはウェブ上のリソースを特定しアクセスするための「住所」であり、プロトコル、ホスト、パス、クエリ、フラグメントなど複数の要素で構成されます。URLはURIの一種で、実際の使用では両者の区別に悩む必要はほとんどありませんが、仕組みやセキュリティ上の注意点を理解しておくことが重要です。


