URI とは?(また URL とは)

URL(Uniform Resource Locator)とは、 インターネット上の情報を指定する時に使う表現で、取得方法と所在を含む記号列です。

例えばホームページ(Webページ)をアクセスする場合、 インターネットブラウザのアドレス欄に、 見たいページを指定します。
例えば、次のようなものです。



これは、URI(Uniform Resource Identifiers ): と呼ばれて、 IETFのrfc2396のドキュメントで規定しています。
(このような表現は、URL(Uniform Resource Locator)と呼ばれていました。
このIETFドキュメントはrfc1738ですが、 rfc3305で 『従来のURLや 名前を指定するURN(Uniform Resource Name)は、どちらもURIと呼ぶ』 ことになりました。)

従来のURL一般的な表現は、次のように指定します。(これはURIの表現方法の一つです。)

スキーム名://ホスト名.ドメイン名:ポート番号/パス/ドキュメント名

上記の例で言えば、次のイメージになります。

このように、各項目のすべてで表現するWWW上での絶対パスのこを、完全 URI(full URI)と呼びます。
 対してリンクのように指定している元のリソースを基準にし、先頭のある部分を省略して表現は 相対URIと呼びます。
上記は、
  スキーム名http 、   ホスト名www001 、   ドメイン名upp.so-net.ne.jp
  サーバー側のドキュメント(ファイル)が存在するディレクトリパスyuu/xyz で、
  ドキュメント名(ファイル名)がdic.html になっている例です。

パスは、サーバー側のドキュメント位置ですが、 実際のディレクトリ構造と異なる仮想ディレクトリを指定できる機能を持つサーバーが多いようです。

スキームは、リソース取得のアクセスを、どの方法(プロトコルなど)で行うかの指定です。 以下に主なスキーム名を示します。

httpHTMLなどホームページやり取りに使われるプロトコル
ftpファイルの転送のプロトコル
mailto電子メールのプロトコル
nfsネットワークファイルシステム
telnet遠隔ログインプロトコル
gopher以前に使われていたメニュースタイルで情報を取得するプロトコル
fileローカルマシン内のファイル指定
例えば、ブラウザからメールクライアントソフトを起動する場合であれば、次のような表現で可能です。
メール送信リンク

上のリンクは次の表現で記述されています。
<a href="mailto:foo@xxx.dom?subject=あいう&body=かきくけこ">メール送信リンク</a>

補足
WWW 上の全てのリソース(ファイル)から、唯一の(絶対に重複しない)リソースを表現する書式がURI (Uniform Resource Identifier) と いうわけです。
用語の変遷から従来のURLを、上記の表現として解説する書籍も多い状況で、それが間違っているわけでありません。
WWW における「場所」を指定する URL (Uniform Resource Locator) の表現と、 場所ではなく「名前」を指定する URN (Uniform Resource Name) の表現があり、 両者を含めてURI(Uniform Resource Identifier)となったのです。
URN でリソースが指定できれば、リソースの位置が移動しても、同じ URN でアクセスできます。 これが「名前」で指定するということです。
例えば、URI(Uniform Resource Identifiers )におけるITEFの公式ドキュメントをURNで表現すると、
urn:ietf:rfc:2396
となります。(これもURIと言えるわけです。)
これも一意な識別子のURIで、これを基に議論が可能というわけです。
しかし、これをwebブラウザ(2012年の)のアドレス欄に指定しても見えないでしょう(将来は可能かも?)。
つまり実際に議論するにはそのリソースの在り処(URL)を知らなければなりません。
したがってURNURLは相補的な関係と言えます。
よって論ずるとき、両方の概念を使って「 urn:ietf:rfc:2396の名前のドキュメントは  http://www.ietf.org/rfc/rfc2396.txt にある」 ので、 URIについて議論しましょう。・・・・とできることになります。