Uniform Resource Locator

Uniform Resource Locator（ユニフォーム リソース ロケータ、URL）または、統一資源位置指定子（とういつしげんいちしていし）とは、インターネット上のリソース（資源）を特定するための形式的な記号の並び。WWWをはじめとするインターネットアプリケーションにおいて提供されるリソースを、主にその所在を表記することで特定する。なお、ここでいう、「リソース」とは、（主にインターネット上の）データやサービスを指し、例えばウェブページの保存場所や電子メールの宛先といったものがそうである。
ティム・バーナーズ＝リーが1991年に発表した論文でUniversal Resource Locatorと命名し、初期はその名が使われたが、現在の正式名称は、「Uniform Resource Locator」である。
URLを含む一般概念としてURIがある。
URLはリソースの場所を特定する「住所」のようなものだと例えられることがある。。
URLの形式.
例.
「codice_1」は典型的なURLの例である。URLはこのような特徴的な形式の文字列であり、WWWが普及した今日にあっては頻繁に目にするものである。
上のURLは「ウィキペディア日本語版の中にあるウィキペディアについて説明している項目」というリソースを特定する。
一般形式.
一般にURLは
 （スキーム名）:（スキームごとに定められた何かの表現形式）
という形をしている。スキーム名としてはプロトコル名が用いられていることが多いがそれに限らない。には次のスキーム名が定義されている。
IANAに登録されたスキームが公式に認められたスキームであると見なされており、で登録手続きなどについて規定されている。この他にもjavascriptスキーム（この後ろに書かれた内容がJavaScript言語によって書かれたスクリプトであることを示す）のように広く普及している非公式なスキームもある。
URLの、スキーム名以降の部分はスキームごとに定められた規則に従う。例えば、電子メールの宛先を表すmailtoスキームのURLの場合、
 mailto:example@example.com
のようになっており、先に挙げたhttpsスキームの例とは大きく異なっている。
httpsやftpのような特定のホストにIP接続する類のスキームでは次のような共通の形式が使われている。この表記では、接続するプロトコルは、呼び出している機能のプロトコルと同じものが使用される。
 //<user>:<password>@<host>:<port>/<url-path>?<query-string>
 https://192.168.10.2/ ← IPv4の場合
 https://[fe80::a1b3:125d:c1f8:4781]/ ← IPv6の場合
標準.
WHATWGがURL Living Standardを策定している。これは、RFC 3986やその他URLに関係するRFCを置き換える標準仕様である。ただし、廃止などにする手続きが行われたわけではないので、各種RFCも状態としては有効である。
なお、cURL作者のDaniel SteinbergはURL Standardについても不十分という意見を発している。
RFC.
URLに関連するRFC（およびその邦訳）には次のものがある。
RFC 1983による"address"の語釈は次の通り（プレーンテキストの原文に太字の効果を付与し、1行文字数などの体裁を調整）。
先頭の2文の大意は、「インターネットにおけるアドレスには主に4種類ある。電子メールアドレス、IPアドレス、MACアドレス、そしてURLである」となるが、参考までに、TR X 0055:2002による訳を次に引用する（太字は引用者）。
W3C Documents.
W3Cが発行しているURLについての文書には次のものがある。
恒久リンク（）とは恒久的なURLのこと。主にコンテンツ管理システム、とりわけブログツールにおいて、個々の記事へのURLが更新作業を繰り返しても変わらないしくみを意味する。一般的に、URLは永久に変化しないことが好ましい。
特定の記事あるいはウエブページに対する直接リンク（直リンクとも呼ばれる）が増大するにつれ、一方でリンク切れ（）の大量発生も大きな問題となっている。そのような事態を避けるためコンテンツの更新作業が行われ、なおかつ更新履歴が保存されるシステムにおいて、有効なコンテンツへのURLが変動しないように、データへの参照番号などを固定化するとともに参照方法を簡略化し、URLが冗長にならないことが望ましいとされる。
そのための特殊な手法としてApacheウエブサーバの場合、mod_rewriteを使ってURLを書き換える、PATH_INFOからパラメータを取得してプログラムを動作させるなどがある。特にmod_rewriteの場合は、PHPによる動的コンテンツを静的なhtmlコンテンツに見せかけることが容易にできてしまう。またPATH_INFO方式の場合は動的コンテンツをサブディレクトリに見せかけることができる。このほかいわゆる携帯サイトではURLを短縮化する様々な工夫が施されるようになっている。いずれにしてもURLのみならずオリジナルのファイル拡張子を隠蔽することで、スクリプトを画像や音楽ファイルのように装うなど悪用のおそれもあるので、ホスティングサーバにおいては利用が制限されるケースが多い。