Единое имя ресурса ( URN ) — это универсальный идентификатор ресурса (URI), который использует данную urn
схему . URN — это глобальные уникальные постоянные идентификаторы, назначаемые в определенных пространствах имен , поэтому они будут доступны в течение длительного периода времени, даже после того, как ресурс, который они идентифицируют, перестанет существовать или станет недоступным. [1] URN не могут использоваться для прямого нахождения элемента и не обязательно должны быть разрешимыми, поскольку они представляют собой просто шаблоны, которые другой синтаксический анализатор может использовать для поиска элемента.
Изначально URN задумывались как часть трехчастной информационной архитектуры Интернета, наряду с унифицированными локаторами ресурсов (URL) и унифицированными характеристиками ресурсов (URC) , структурой метаданных . Как описано в RFC 1737, [2] и позже в RFC 2141, [3] URN отличались от URL-адресов, которые идентифицируют ресурсы, указывая их расположение в контексте определенного протокола доступа, такого как HTTP или FTP . Напротив, URN были задуманы как постоянные , независимые от местоположения идентификаторы, назначаемые внутри определенных пространств имен , обычно органом, ответственным за пространство имен, так что они глобально уникальны и устойчивы в течение длительных периодов времени, даже после того, как ресурс, который они идентифицируют, перестает использоваться. существуют или становятся недоступными. [1]
URC так и не продвинулись дальше концептуальной стадии [4] , и их место позже заняли другие технологии, такие как структура описания ресурсов . Начиная с RFC 3986 [5] в 2005 году, использование терминов «Единое имя ресурса» и «Единый указатель ресурса» было признано устаревшим в технических стандартах в пользу термина «Единый идентификатор ресурса» (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]
строка имени = назначенное имя [ rq-компоненты ] [ "#" f-компонент ] назначенное имя = "urn" ":" NID ":" NSS NID = ( буквенное число ) 0*30 ( ldh ) ( буквенное число ) ldh = буквенное число / "-" NSS = pchar * ( pchar / "/" ) rq-comComponents = [ "?+" r-comComponent ] [ "?=" q-comComponent ] r-comComponent = pchar * ( pchar / "/" / "?" ) q-компонент = pchar * ( pchar / "/" / "?" ) f-компонент = фрагмент ; общие правила синтаксиса URI (RFC3986) фрагмент = * ( pchar / "/" / "?" ) pchar = незарезервировано / в кодировке pct / суб-разделители / ":" / "@" в кодировке pct = "%" HEXDIG HEXDIG незарезервировано = АЛЬФА / ЦИФРА / "-" / "." / "_" / "~" субразделители = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" " =" буквенное число = АЛЬФА / ЦИФРА ; устарело, использование устарело
или, в виде синтаксической диаграммы , как:
urn:
) нечувствительна к регистру.<NID>
— это идентификатор пространства имен, который может включать буквы, цифры и символы -
.<NSS>
, интерпретация которой зависит от указанного пространства имен. NSS может содержать буквы и цифры ASCII, а также множество знаков препинания и специальных символов. Запрещенные символы ASCII и Unicode могут быть включены, если они закодированы в процентах .В 2017 году синтаксис URN был обновлен: [1]
/
) теперь разрешен в NSS для обозначения имен, содержащих косую черту, из систем идентификаторов, отличных от URN.Чтобы обеспечить глобальную уникальность пространств имен URN, их идентификаторы (NID) должны быть зарегистрированы в IANA . Зарегистрированные пространства имен могут быть «формальными» или «неформальными». Исключение из требования регистрации ранее делалось для «экспериментальных пространств имен» [8] , поскольку оно было отменено RFC 8141. [1]
Было зарегистрировано около шестидесяти формальных идентификаторов пространства имен URN. Ожидается, что это пространства имен, в которых пользователи Интернета получат выгоду от их публикаций [1] , и на них распространяется ряд ограничений. Они должны:
urn-
XY-
, где XY — любая комбинация двух букв ASCII .x-
(см. «Экспериментальные пространства имен» ниже)Неофициальные пространства имен регистрируются в IANA, и им присваивается числовая последовательность (выбираемая IANA в порядке очереди) в качестве идентификатора [1] в формате
"urn-" ⟨number⟩
Неофициальные пространства имен представляют собой полноценные пространства имен URN и могут быть зарегистрированы в службах глобальной регистрации. [1]
Исключение из требования регистрации раньше делалось для «экспериментальных пространств имен». [8] Однако после прекращения поддержки нотации «X-» для новых имен идентификаторов, [9] RFC 8141 [1] покончил с экспериментальными пространствами имен URN, указав предпочтение использованию пространства urn:example
имен там, где это уместно. [10]
§ 2. Синтаксис URN
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка )