- Uniform Resource Name
-
URN (англ. Uniform Resource Name) — единообразное название (имя) ресурса. На английский манер произносится как [эо́рн], по-русски чаще говорят [у-эр-э́н]. URN — это постоянная последовательность символов, идентифицирующая абстрактный или физический ресурс. URN является частью концепции англ. Uniform Resource Identifier) — единообразных идентификаторов ресурса. Имена URN призваны в будущем заменить локаторы англ. Uniform Resource Locator) — единообразные определители местонахождения ресурсов. Но имена URN, в отличие от URL, не включают в себя указания на местонахождение и способ обращения к ресурсу. Стандарт URN специально разработан так, чтобы он мог включать в себя другие пространства имён.
Содержание
Основная идея
Идея URN возникла из-за существенных недостатков системы URL. Ресурсы во Всемирной паутине и Интернете перемещаются, а ссылки в виде URL остаются, указывая на уже отсутствующие ресурсы. Старые URL также делаются бесполезными при реструктуризации ресурсов, переименовании, удалении, перемещении в другой домен англ. Persistent Uniform Resource Locator — постоянный URL), ныне уже широко используемая, а также система DOI (англ. Digital Object Identifier — цифровой идентификатор объекта). Но это всё же лишь частичные решения проблемы. Принципиальным же решением должен стать стандарт единообразного именования ресурсов URN.
URN указывает неизменное имя ресурса без указания его местонахождения и способа обращения. В результате URN-имена совершенно постоянны, они не зависят от конкретных серверов и протоколов. Другими словами, URN концептуально обозначает сам ресурс, а не место, где находится какой-то ресурс (а может, уже не находится), как это делает URL. Например, допустим, есть человек по имени Михаил Петров, который живёт в Москве по адресу ул. Земляной вал, 14. Если кто-то спросит его: «Вы кто?». Он, разумеется, ответит «Я — Михаил Петров». Он ведь не скажет: «Я человек, живущий на Земляном валу, 14». Так вот URN идентифицирует человека как «Михаил Петров», а URL лишь сообщает, что кто-то живёт по адресу ул. Земляной вал, 14 (а может там находится и организация… URL этого не сообщает).
Для нахождения ресурсов по URN-имени нужна «система разрешения URN-имён» (англ. URN resolution). Тогда человек (или программа), знающий точный URN ресурса, введёт его в систему разрешения и немедленно получит множество конкретных мест (серверов или, скажем, интернет-магазинов), где этот ресурс можно найти. В 2002 году была предложена система DDDS (англ. Dynamic Delegation Discovery System) — система динамического обнаружения ресурсов, которая разрешает имена URN в URL-ссылки на конкретные местонахождения ресурсов. При этом и URN, и URL являются частью одной системы идентификации ресурсов URI.
История
В 1994 году вышел запрос RFC 1737, в котором описывались концептуальные и функциональные требования к разработке URN. Сама идея URN родилась несколько раньше, но до 1994 года не была никак сформулирована. После выхода RFC 1737 было потрачено очень много времени и усилий на разработку URN. Рабочая группа URN при англ. Internet Engineering Task Force) включает в себя очень много заинтересованных сторон (включая крупные конкурирующие компании), поэтому достижение всеобщего согласия представляется очень затруднительным. Тем не менее, уже в мае 1997 года вышла спецификация RFC 2141, описывающая первую версию синтаксиса URN. Хотя разработка URN ещё далеко не завершена, и достичь консенсуса по всем вопросам пока не удалось, но базовые черты URN вырисовываются уже довольно чётко.
В 1999 году был опубликован запрос комментариев RFC 2483, который в общих чертах обрисовывал систему разрешения URN-имён. В октябре 2002 года вышла целая серия документов: RFC 3401, RFC 3402, RFC 3403, RFC 3404, RFC 3405. В этих документах определялась система разрешения URN-имён DDDS (см. выше) — последнее необходимое звено для внедрения URN. Примерно в то же время вышла и спецификация RFC 3406, уточняющая спецификацию пространств имён URN.
В настоящее время применение URN приобрело уже значительные масштабы. Имена URN стали неотъемлемой частью расширяемого языка разметки
Структура URN
Единообразные имена ресурсов имеют следующую структуру:
<URN> ::= "urn:" <NID> ":" <NSS>
В этой записи:
- <NID>
- идентификатор пространства имён (англ. Namespace Identifier), представляет собой синтактическую интерпретацию NSS; не чувствителен к регистру.
- <NSS>
- строка из определённого пространства имён (англ. Namespace Specific String); если в этой строке содержатся символы не из набора Юникоде (процента «%». Подробнее см.
Примеры URN
- URN книги, идентифицируемой номером ISBN
urn:isbn:5170224575
urn:ietf:rfc:3406
- URN страны Соединённые Штаты Америки, определённой по коду OID
urn:oid:2.16.840
- URN конкретного файла SHA1
urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C
urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66
См. также
- URL
- DOI
- XRI
- TTH
Ссылки
- RFC 2141 — Синтаксис URN
- RFC 1737 — Функциональные требования к URN
- RFC 2483 — Системы разрешения URI для URN
- RFC 3406 — Определение пространств имён для URN
- RFC 3986 / STD 66 — Спецификация URI
- Рабочая группа URN в IETF
- Пространства имён URN, зарегистрированные в IANA
URI scheme Официальные aaa: · aaas: · acap: · cap: · cid: · crid: · data: · · dict: · dns: · fax: · file: · ftp: · go: · gopher: · · http: · https: · im: · imap: · ldap: · mailto: · mid: · · nfs: · nntp: · pop: · pres: · · sip: · sips: · snmp: · · · urn: · · xmpp: Неофициальные about: · aim: · bolo: · bzr: · · cvs: · · ed2k: · feed: · fish: · · gizmoproject: · iax2: · irc: · ircs: · · ldaps: · magnet: · mms: · msnim: · psyc: · · secondlife: · · ssh: · · · smb: · · · · · ut2004: · view-source: · vzochat: · webcal: · xfire: · ymsgr:
Wikimedia Foundation. 2010.