[3] URN (Uniform Resource Names, 統一資源名)
は、 URI の
名前
としての性質を指した言葉です。
URI は識別子
ですが、
Webブラウザのように物理的な番地
(所在を表す記号) として使われることがよくあります
(この性質を指して URL
といいます)。それに対して、資源 (もの
)
の名前として URI
を捉えるのが URN 的考え方です。
もちろん、所在地と名前は対立するものではなく、
時には所在地が名前となったり、名前を所在地に使えたりします。
以前には所在地 (URL) と名前 (URN) を別のものと考えていた時代もありましたが、
現在ではあらゆる識別子 (URI) を名前と見なし得るので、
URN
という概念自体があまり使われなくなっています。
[18] 以前は、よく URI = URL + URN
ということが言われていました。
資源 (もの
) の識別子
である URI は、
資源を位置で識別する URL と名前で識別する URN
の (たぶん重ならない) 2つの集合の和であると考えられていたのです。
URL が先に実用化・標準化されたのですが、元々は URL と URN
というようなことは考えられなかったので、 URL の識別方法を表す
scheme (http: など) は根
名前空間に定義され、
後から定義される URN は urn:
URI scheme
に収納 (例: ISBN を使って書式を識別する urn:isbn:
URN scheme (NID)。) して名前空間を分けることが予定されていました。
しかし、 >>3 のような URI は URL でもあり、 URN
でもあるという考え方が一般的になり、分かりやすい
URI = URL + URN
という式も、 urn:
URI scheme
に URN を納めるという話も怪しくなってきました。
というより元々 mid:
(Message-ID
を使ってメッセージを識別。) のような URN
らしい URL
があったり、最初から怪しかったといえば怪しかったのです。
第一 URI の発明者である TimBL は、最初から URL
ではなく URI (当初は UDI) を提案していました。
歴史的経緯はともかく、現代的な考え方ではURL (番地) とURN (名前) に明確な区別はなく、 個々のURIが番地的性質を持っていたり、 名前的性質を持っていたり、両方の性質を持っていたりするに過ぎません。
従って、URN的性質を持ったURIが必ずしもurn:
URI schemeをつかって要る必要はありません。
例えばtag:
URI schemeはURN的性質を持っています。
また、http:
URI schemeも名前空間URIとして使われる時はURI的性質を持っています。
[17] WIRE - W3 Identifier Resolution Extensions http://ftp.ics.uci.edu/pub/ietf/http/draft-girod-w3-id-res-ext-00.txt : HTTP を微妙に拡張して URN の解決に使おうという I-D。
urn:
URL scheme[28] urn:
shceme の URI で
文字列 urn: の直後にくる文字列は、
名前空間識別子 (NID) といいます。
詳しくは NID をごらんください。
[29] 名前空間 urn:mozilla の URN では、
/
が使われることがありますが、これは URN 構文では認められていません。
[30] 名前空間名 (NID) x-suika.fam.cx
,
x-tomikou.net
が以前使われていましたが、
文字 .
は NID では認められていないので
urn:x-suika-fam-cx
と urn:x-tomikou-net
に変更されました。
[16] Q: urn:nid:* の
urn
の部分と nid
の大文字・小文字は区別されますか?
[27] A: >>16 どちらもされません。但し、その後の * の部分で区別されるかされないかは、 その個々の定義によるので一概には言えません。 (一般には区別されます。)
[13] WebSGML では、 SGML宣言の他機構で宣言できる機能に
URN
が加わりました。
この機能が有効である場合、公開識別子は RFC 2141 の普遍資源名として解釈されます。
なお、旧来の SGML から存在する FORMAL
も有効になっている場合は、公開識別子は、
公式公開識別子又は URN のいずれかとして解釈されます。
URN は必ず "urn:"
から始まり、一方公式公開識別子は ISO所有者識別子が使われない限り絶対に衝突しません。 ISO 所有者識別子は、 ISO の気が狂いでもして、その出版物の名前の最初の4文字を "urn:"
にしたりでもしない限り、衝突しません。仮にこの部分で衝突したとしても、公的公開識別子は絶対に間隔を含みますが、逆に正しい URN は絶対に含まないので、確実に区別できます。
[15] この機能は悪くはありませんが、実際には URN NID の登録は成功しておらず、色々な人が勝手に使っています。従って URN を使っても、未登録所有者識別子と同程度しか一意性の保証ができません。従って、公開識別子に URN を使用するくらいなら、インターネット・ドメイン名所有者識別子を使う方が賢明でしょう。
[40] URN は「名前」であり、 URL とは違ってプロトコルによるアクセス方法の記述では無いとされていました。 URNの解決によって資源を得るためには、 そのためのプロトコルが必要であるとされ、いくつかの方法が提案されました。
[43] Link Reliability - Why URNs are Not the Answer, , https://www.w3.org/Propagation/reliable-links.html
[22] IRC logs: freenode / #whatwg / 20100131 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20100131#l-262
[23] Uniform Resource Names, Revised (urnbis) - Charter ( ( 版)) https://datatracker.ietf.org/wg/urnbis/charter/
[24] draft-ietf-urnbis-semantics-clarif-00 - URN Semantics Clarification ( ( 版)) http://tools.ietf.org/html/draft-ietf-urnbis-semantics-clarif-00
[25] draft-ietf-urnbis-ns-reg-transition-03 - Uniform Resource Name (URN) Namespace Registration Transition ( ( 版)) http://tools.ietf.org/html/draft-ietf-urnbis-ns-reg-transition-03
[26] draft-ietf-urnbis-rfc2141bis-urn-08 - Uniform Resource Names (URNs) ( ( 版)) http://tools.ietf.org/html/draft-ietf-urnbis-rfc2141bis-urn-08
[1] RFC 3404 - Dynamic Delegation Discovery System (DDDS) Part Four: The URI Resolution Application () https://tools.ietf.org/html/rfc3404
[2] RFC 1737 - Functional Requirements for Uniform Resource Names () https://tools.ietf.org/html/rfc1737
[4] RFC 2169 - A Trivial Convention for using HTTP in URN Resolution () https://tools.ietf.org/html/rfc2169
[5] RFC 2483 - URI Resolution Services Necessary for URN Resolution () https://tools.ietf.org/html/rfc2483
[6] RFC 2168 - Resolution of Uniform Resource Identifiers using the Domain Name System () https://tools.ietf.org/html/rfc2168
[9] Uniform Resource Names (URN) Progress Report () http://www.dlib.org/dlib/february96/02arms.html
[10] RFC 2276 - Architectural Principles of Uniform Resource Name Resolution () https://tools.ietf.org/html/rfc2276
[11] RFC 2611 - URN Namespace Definition Mechanisms () https://tools.ietf.org/html/rfc2611
[12] RFC 8141 - Uniform Resource Names (URNs) () https://tools.ietf.org/html/rfc8141
[31] Protocol Handlers for Microsoft Internet Explorer - misuzilla.org (Mayuki Sawatari 著, 版) http://www.misuzilla.org/dist/net/mphandler/
[33] URN supported w3m - Ancient library (KONDOU, Kazuhiro 著, 版) http://www.alib.jp/perl/w3m_urn.html
[34] Features | AXR: Arbitrary XML Rendering | AXR Project ( (Miro Keller 著, 版)) http://axr.vg/about/features
[35] OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 3: Packages ( 版) http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part3.html#a4_8_1manifest_algorithm-name