Унифицированное имя ресурса

Унифицированный идентификатор ресурса (URI), использующий схему urn

Унифицированное имя ресурса ( URN ) — это унифицированный идентификатор ресурса (URI), который использует urn схему . URN — это глобально уникальные постоянные идентификаторы, назначаемые в определенных пространствах имен , поэтому они будут доступны в течение длительного периода времени, даже после того, как ресурс, который они идентифицируют, прекратит свое существование или станет недоступным. [1] URN нельзя использовать для прямого поиска элемента, и они не должны быть разрешимыми, поскольку они представляют собой просто шаблоны, которые другой синтаксический анализатор может использовать для поиска элемента.

URI, URN и URL-адреса

URN изначально задумывались как часть трехчастной информационной архитектуры для Интернета, наряду с унифицированными указателями ресурсов (URL) и унифицированными характеристиками ресурсов (URC) , фреймворком метаданных . Как описано в RFC  1737, [2] и позднее в RFC 2141, [3] , URN отличались от URL, которые идентифицируют ресурсы, указывая их местоположение в контексте определенного протокола доступа, такого как HTTP или FTP . Напротив, URN были задуманы как постоянные , независимые от местоположения идентификаторы, назначаемые в определенных пространствах имен , как правило, органом, ответственным за пространство имен, так что они являются глобально уникальными и постоянными в течение длительных периодов времени, даже после того, как ресурс, который они идентифицируют, перестает существовать или становится недоступным. [1]

URC так и не продвинулись дальше концептуальной стадии, [4] и другие технологии, такие как Resource Description Framework, позже заняли их место. Начиная с RFC 3986 [5] в 2005 году, использование терминов «Uniform Resource Name» и «Uniform Resource Locator» было отменено в технических стандартах в пользу термина Uniform Resource Identifier (URI), который охватывает оба, точка зрения, предложенная в 2001 году совместной рабочей группой Консорциума Всемирной паутины (W3C) и Инженерной рабочей группы Интернета (IETF). [4]

URI — это строка символов , используемая для идентификации или наименования ресурса в Интернете. URI используются во многих интернет-протоколах для ссылки на информационные ресурсы и доступа к ним. Схемы URI включают протоколыhttp и ftp, а также сотни других.

Согласно так называемому «современному взгляду», все URI идентифицируют или именуют ресурсы, возможно, уникально и постоянно, а некоторые из них также являются «локаторами», которые можно разрешить в сочетании с указанным протоколом для представления ресурсов.

Другие URI не являются локаторами и не обязательно разрешимы в пределах систем, где они находятся. Эти URI могут служить именами или идентификаторами ресурсов. Поскольку ресурсы могут перемещаться, непрозрачные идентификаторы, которые не являются локаторами и не привязаны к определенным местоположениям, вероятно, с большей вероятностью, чем идентификаторы, которые являются локаторами, останутся уникальными и постоянными с течением времени. Но разрешимость URI зависит от многих операционных и практических деталей, независимо от того, называется ли он «именем» или «локатором». В современном представлении нет четкой границы между «именами» и «локаторами».

В соответствии с этим образом мышления различие между унифицированными именами ресурсов и унифицированными указателями ресурсов в настоящее время больше не используется в официальных технических стандартах Целевой группы по инженерии Интернета , хотя последний термин, URL, по-прежнему широко используется неофициально.

Термин «URN» теперь продолжает существовать как одна из более чем сотни «схем» URI, urn:, параллельная http:, ftp:, и так далее. URI схемы urn:не являются локаторами, не обязаны быть связаны с определенным протоколом или методом доступа и не должны быть разрешимыми. Они должны назначаться процедурой, которая обеспечивает некоторую гарантию того, что они останутся уникальными и будут постоянно идентифицировать один и тот же ресурс в течение длительного периода. Некоторые пространства имен в рамках схемы urn:, такие как urn:uuid:назначают идентификаторы способом, который не требует регистрационного органа, но большинство из них это делают. Типичное пространство имен URN — urn:isbn, для международных стандартных номеров книг. Эта точка зрения продолжается в RFC 8141 (2017). [1]

Существуют и другие схемы URI, такие как tag:, info:(сейчас в значительной степени устаревшие) и ni:[6] , которые похожи на urn:схему тем, что не являются локаторами и не связаны с определенным разрешением или протоколами доступа.

Синтаксис

Синтаксис urn:URI схемы представлен в расширенной форме Бэкуса–Наура следующим образом: [5] [7]

namestring = назначенное-имя [ rq-components ] [ "#" f-component ] назначенное-имя = "urn" ":" NID ":" NSS NID = ( alphanum ) 0*30 ( ldh ) ( alphanum ) ldh = alphanum / "-" NSS = pchar * ( pchar / "/" ) rq-components = [ "?+" r-component ] [ "?=" q-component ] r-component = pchar * ( pchar / " /" / "?" ) q-component = pchar * ( pchar / "/" / "?" ) f-component = фрагмент                                                         ; общие правила синтаксиса URI (RFC3986) фрагмент = * ( pchar / "/" / "?" ) pchar = незарезервированный / закодированный в pct / вложенные разделители / ":" / "@" закодированный в pct = "%" HEXDIG HEXDIG незарезервированный = АЛЬФА / ЦИФРА / "-" / "." / "_" / "~" вложенные разделители = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="                                                        alphanum = АЛЬФА / ЦИФРА ; устарело, использование не рекомендуется     

или, в виде синтаксической диаграммы , как:

Диаграмма синтаксиса URN – строка имени

  • Ведущая схема ( urn:) нечувствительна к регистру.
  • <NID>— идентификатор пространства имен, который может включать буквы, цифры и -.
  • За NID следует строка, специфичная для пространства имен <NSS>, интерпретация которой зависит от указанного пространства имен. NSS может содержать буквы и цифры ASCII, а также множество знаков препинания и специальных символов. Недопустимые символы ASCII и Unicode могут быть включены, если они закодированы процентами .

В 2017 году синтаксис URN был обновлен: [1]

  • Символ косой черты ( /) теперь разрешен в NSS для представления имен, содержащих косые черты, из систем идентификаторов, не являющихся URN.
  • Q-компонент был добавлен для обеспечения возможности передачи параметров именованным ресурсам.
  • Компонент r был добавлен для передачи параметров в резолверы. Однако обновленная спецификация отмечает, что его не следует использовать, пока его семантика не будет определена посредством дальнейшей стандартизации.

Пространства имен

Для обеспечения глобальной уникальности пространств имен URN их идентификаторы (NID) должны быть зарегистрированы в IANA . Зарегистрированные пространства имен могут быть «формальными» или «неформальными». Исключение из требования регистрации ранее делалось для «экспериментальных пространств имен», [8] с тех пор как было отменено RFC 8141. [1]

Формальный

Зарегистрировано около шестидесяти формальных идентификаторов пространства имен URN. Это пространства имен, где пользователи Интернета, как ожидается, получат выгоду от их публикации, [1] и на них распространяются некоторые ограничения. Они должны:

  • Не быть уже зарегистрированным NID
  • Не начинать сurn-
  • Быть длиннее двух букв
  • Не начинать с XY-, где XY — любая комбинация двух букв ASCII
  • Не начинать с x-(см. «Экспериментальные пространства имен» ниже)

Неофициальный

Неофициальные пространства имен регистрируются в IANA и им присваивается последовательность номеров (выбираемая IANA в порядке поступления заявок) в качестве идентификатора [1] в формате

"urn-" ⟨number⟩

Неофициальные пространства имен представляют собой полноценные пространства имен URN и могут быть зарегистрированы в глобальных службах регистрации. [1]

Экспериментальный

Исключение из требования регистрации ранее делалось для «экспериментальных пространств имен». [8] Однако после отмены обозначения «X-» для новых имен идентификаторов [9] RFC 8141 [1] покончил с экспериментальными пространствами имен URN, указав на предпочтительность использования пространства urn:exampleимен там, где это уместно. [10]

Примеры

УРНсоответствует
urn:isbn:0451450523Книга 1968 года «Последний единорог» , идентифицированная по Международному стандартному книжному номеру .
urn:isan:0000-0000-2CEA-0000-1-0000-0000-YФильм «Человек-паук» 2002 года , идентифицированный по Международному стандартному аудиовизуальному номеру .
urn:ISSN:0167-6423Научный журнал «Science of Computer Programming» , идентифицируемый по его Международному стандартному серийному номеру .
urn:ietf:rfc:2648RFC 2648 IETF .
urn:mpeg:mpeg7:schema:2001Правила пространства имен по умолчанию для метаданных видео MPEG-7 .
urn:oid:2.16.840OID для Соединенных Штатов .
urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66UUID версии 1 .
urn:nbn:de:bvb:19-146642Национальный библиографический номер документа, указывающий страну ( de), региональную сеть ( bvb= Bibliotheksverbund Bayern ), номер библиотеки (19) и номер документа.
urn:lex:eu:council:directive:2010-03-09;2010-19-UEДиректива Европейского Союза , использующая предлагаемое пространство имен Lex URN .
urn:lsid:zoobank.org:pub:CDC8D258-8F57-41DC-B560-247E17D3DC8CИдентификаторы наук о жизни , которые могут быть разрешены как http://zoobank.org/urn:lsid:zoobank.org:pub:CDC8D258-8F57-41DC-B560-247E17D3DC8C .
urn:epc:class:lgtin:4012345.012345.998877Глобальный номер торговой позиции с номером партии/серии. Как определено в Tag Data Standard [11] (TDS). См. больше примеров в EPC Identification Keys .
urn:epc:id:sgtin:0614141.112345.400Глобальный номер торговой единицы с индивидуальным серийным номером
urn:epc:id:sscc:0614141.1234567890Серийный код контейнера для перевозки
urn:epc:id:sgln:0614141.12345.400Глобальный номер местоположения с расширением
urn:epc:id:bic:CSQU3054383BIC Код интермодального контейнера согласно ISO 6346
urn:epc:id:imovn:9176187Судно ИМО Количество морских судов
urn:epc:id:gdti:0614141.12345.400Глобальный идентификатор типа документа экземпляра документа
urn:mrn:iala:aton:us:1234.5Идентификатор морских средств навигационного оборудования
urn:mrn:iala:vts:ca:ecaregИдентификатор для служб движения судов
urn:mrn:iala:wwy:us:atl:chba:potriИдентификатор водных путей
urn:mrn:iala:pub:g1143Идентификатор публикаций МАМС
urn:microsoft:adfs:claimsxrayИдентификатор для федеративной идентификации; этот пример взят из Claims X-Ray [12]
urn:eic:10X1001A1001A450Европейская сеть операторов систем передачи электроэнергии (ENTSO-E), идентифицируемая по ее энергетическому идентификационному коду

Смотрите также

Ссылки

Цитаты

  1. ^ abcdefghi RFC 8141 (2017).
  2. RFC 1737 (1994).
  3. ^ RFC 2141 (1997).
  4. ^ Источник: W3C/IETF (2001).
  5. ^ ab RFC 3986 (2005).
  6. ^ RFC 6920 (2013).
  7. ^ RFC 8141, раздел 2 (2017).
  8. ^ ab RFC 3406 (2002).
  9. ^ RFC 6648 (2012).
  10. ^ RFC 6963 (2013).
  11. ^ "Стандарт данных тегов EPC, версия 1.13". GS1. Ноябрь 2019 г. Получено 7 марта 2021 г.
  12. ^ "Утверждает, что X-Ray AD FS помогает".

Источники

  • K. Sollins; L. Masinter (декабрь 1994 г.). Функциональные требования к унифицированным именам ресурсов. Сетевая рабочая группа. doi : 10.17487/RFC1737 . RFC 1737. Информационный.
  • R. Moats (май 1997 г.). Синтаксис URN. Сетевая рабочая группа. doi : 10.17487/RFC2141 . RFC 2141. Предложенный стандарт. Устаревший из-за RFC 8141.
  • L. Daigle; DW van Gulik; R. Iannella; P. Faltstrom (октябрь 2002 г.). Механизмы определения пространства имен унифицированных имен ресурсов (URN). Сетевая рабочая группа. doi : 10.17487/RFC3406 . RFC 3406. Лучшая текущая практика. Устарело из-за RFC 8141. Устаревший RFC 2611.
  • T. Berners-Lee ; R. Fielding ; L. Masinter (январь 2005 г.). Универсальный идентификатор ресурса (URI): общий синтаксис. Сетевая рабочая группа. doi : 10.17487/RFC3986 . STD 66. RFC 3986. Стандарт Интернета 66. Отменяет RFC 2732, 2396 и 1808. Обновлен RFC 6874, 7320 и 8820. Обновляет RFC 1738.
  • P. Saint-Andre; D. Crocker; M. Nottingham (июнь 2012 г.). Отказ от префикса "X-" и подобных конструкций в прикладных протоколах. Internet Engineering Task Force . doi : 10.17487/RFC6648 . ISSN  2070-1721. RFC 6648. Лучшая текущая практика.
  • S. Farrell; D. Kutscher; C. Dannewitz; B. Ohlman; A. Keranen; P. Hallam-Baker (апрель 2013 г.). Именование вещей с помощью хэшей. Internet Engineering Task Force (IETF). doi : 10.17487/RFC6920 . ISSN  2070-1721. RFC 6920. Предлагаемый стандарт.
  • P. Saint-Andre (май 2013 г.). Пространство имен унифицированных имен ресурсов (URN) для примеров. Internet Engineering Task Force (IETF). doi : 10.17487/RFC6963 . ISSN  2070-1721. RFC 6963. Лучшая текущая практика. Обновления RFC 1930.
  • P. Saint-Andre; J. Klensin (апрель 2017 г.). Единые имена ресурсов (URN). Internet Engineering Task Force (IETF). doi : 10.17487/RFC8141 . ISSN  2070-1721. RFC 8141. Предложенный стандарт. Отменяет RFC 2141, 3406.
    • P. Saint-Andre; J. Klensin (апрель 2017 г.). Единые имена ресурсов (URN). Internet Engineering Task Force (IETF). doi : 10.17487/RFC8141 . ISSN  2070-1721. RFC 8141. Предлагаемый стандарт. раздел 2. Отменяет RFC 2141, 3406. § 2. Синтаксис URN
  • «Информационный листок: Система DOI и спецификации идентификаторов Интернета». Международный фонд DOI. Октябрь 2012 г. Получено 06.12.2012 .
  • Группа интересов W3C/IETF по планированию URI (21 сентября 2001 г.). "URI, URL и URN: разъяснения и рекомендации 1.0". W3C . Получено 07.12.2012 .{{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
  • Официальный реестр пространств имен URN IANA
  • Рабочая группа по унифицированным именам ресурсов в IETF
  • URN и библиографические ссылки в веб-авторстве
  • Пример серверного преобразователя URN описан в RFC  2169.
Получено с "https://en.wikipedia.org/w/index.php?title=Uniform_Resource_Name&oldid=1254872054"