この文書は、W3CURIs, URLs, and URNs: Clarifications and Recommendations 1.0 を受けて書かれたものです。

URI

URI は、世界中のリソースを一意に表現するためのものです。

例えば、同じ RFC1855 を参照しようとした場合に、http://www.ietf.org/rfc/rfc1855.txt と記述した場合と、urn:ietf:rfc:1855 と記述した場合、前者は www.ietf.org サーバ上の /rfc/rfc1855.txt というファイル自体を指し、後者は IETF の出している RFC1855 という文書自体を指している、という差があります。

ちなみに、HTML でのハイパーリンクは URI を受け入れますので、<a href="urn:ietf:rfc:2822I">...</a> といった形で記述が可能です。ブラウザがどう解釈してくれるかは実装次第ですが。

URI スキーム

URI スキームは IANA によって管理されていて、Uniform Resource Identifer (URI) SCHEMES にその一覧があります。ここに登録されているものが、公式に登録されている URI ということになります。

これ以外にも URI スキームの一覧が Addressing Schemes で公開されています。これは、登録済みのものも未登録のものも含まれています。これらは RFC にあるものの一覧です。

URN 名前空間

URN は世界中のリソースを一意に指定できるようにしますが、全く別のものが同じ名前を持つことが出きるように、識別用の領域分けが行われます。これが名前空間で、これを識別するために名前空間識別子 (Namespace ID、NID) が利用されます。

URN 名前空間には、2 つのカテゴリが存在します。

非公式な形式

urn-(番号) と言った形式で指定します。番号は IANA によって割り当てられ、urn-1 といった形で記述します。

公式な形式

IANA によって管理されている名前空間名を指定します。

ietf

IETF の文書を示す名前空間です。これは RFC2648 (URL) で定義されています。

pin

ネットワーク上の個人識別名 (PIN) を示す名前空間です。これは RFC3043 (URL) で定義されています。

issn

あらゆるものを識別するための一意のシリアル番号 (ISSN) を示す名前空間です。これは RFC3044 (URL) で定義されています (21 Sep 2001 版の文書では RFC3043 と typo が……)。

oid

数値とピリオドで示されるオブジェクトを識別するための一意の識別子 (OID) を示す名前空間です。これは RFC3061 (URL) で定義されています。

newsml

複数メディアをパッケージしたニュースリソースについて XML の書式で定義した NewsML の項目 NewsItem を識別するため名前空間です。これは RFC3085 (URL) で定義されています。

oasis

OASIS 標準を一意に識別するための名前空間です。これは RFC3121 (URL) で定義されています。

xmlorg

OASIS の XML.org リポジトリ上にあるリソースを一意に識別するための名前空間です。これは RFC 3120 (URL) で定義されています。

publicid

今までに公開識別子を一意に識別するための名前空間です。たとえば、W3C の XHTML 1.1 勧告などは "-//W3C//DTD XHTML 1.1//EN" となっていますが、これを URN で示すと "urn:publicid:-:W3C:DTD+XHTML+1.1:EN" となります。これは RFC3151 (URL) で定義されています。

isbn

書籍の ISBN コードにより、書籍を一意に識別するための名前空間です。これは RFC 3187 で定義されています。たとえば、ASCII サンソフトプレスシリーズ core JAVA 2 Volume I-Fundamentals は urn:isbn:4-7561-3321-5 という URN で識別可能となります。

URL

URL は URN の様に url: といった特別なスキームは持ちません。後方互換性のためとも考えられますが、http: とか ftp: といったスキームを持ちます。単純に URN を示す urn: 以外の URI スキームは URL スキームだと認識して構いません (1.2 Contemporary View)。

URL は Uniform Resource Locators (URL) (URL)、Relative Uniform Resource Locators (URL)、The mailto URL scheme (URL)、Uniform Resource Identifiers (URI) (URL) などに情報があります。

URN

URN は "urn:" スキームから始まる URI です。URN は、例えば urn:ietf:rfc:1855 などと書きます。この場合、urn:の部分が URI スキームになりますが、ietf: の部分は URN 名前空間を表します。

この場合、ietf 名前空間に属する rfc 名前空間内にある 1855 というリソースを指し、これは IETF が出している RFC1855 を指す、ということになります。

URN は URN Syntax (URL)、A Trival Convention for using HTTP in URN Resolution (URL)、URI Resolution Services Necessary for URN Resolution (URL)、URN Namespace Definition Mechanisms (URL)、A URN Namespace for IETF Documents (URL)、A URN Namespace of Object Identifiers (URL)、URN Namespace for NewsML Resources (URL)、A URN Namespace for XML.org (URL)、A URN Namespace for OASIS (URL)、A URN Namespace for Public Identifiers (URL) などに情報があります。