urn что это такое
Urn что это такое
URN (англ. Uniform Resource Name ) — единообразное название (имя) ресурса. На английский манер произносится как слово earn, по-русски чаще говорят [у-эр-э́н]. URN — это постоянная последовательность символов, идентифицирующая абстрактный или физический ресурс. URN является частью концепции URI (англ. Uniform Resource Identifier ) — единообразных идентификаторов ресурса. Имена URN призваны в будущем заменить локаторы URL (англ. Uniform Resource Locator ) — единообразные определители местонахождения ресурсов. Но имена URN, в отличие от URL, не включают в себя указания на местонахождение и способ обращения к ресурсу. Стандарт URN специально разработан так, чтобы он мог включать в себя другие пространства имён.
Содержание
Основная идея
Идея URN возникла из-за существенных недостатков системы URL. Ресурсы во Всемирной паутине и Интернете перемещаются, а ссылки в виде URL остаются, указывая на уже отсутствующие ресурсы. Старые URL также делаются бесполезными при реструктуризации ресурсов, переименовании, удалении, перемещении в другой домен DNS. Для решения этой проблемы была разработана интересная и эффективная система PURL (англ. 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 при IETF (англ. 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 стали неотъемлемой частью расширяемого языка разметки XML. Всё чаще и чаще URN реализуются в популярном программном обеспечении. Хотя до того момента, когда URN вытеснят URL, видимо, ещё далеко, но уже сейчас можно сказать, что перспективы у URN отличные. URN несомненно станет универсальным стандартом именования ресурсов.
Структура URN
Единообразные имена ресурсов имеют следующую структуру:
идентификатор пространства имён (англ. Namespace Identifier ), представляет собой синтактическую интерпретацию NSS; не чувствителен к регистру. строка из определённого пространства имён (англ. Namespace Specific String ); если в этой строке содержатся символы не из набора ASCII, то они должны быть закодированы в Юникоде (UTF-8) и предварены (каждый из них) знаком процента «%». Подробнее см. URL.
При этом начальная последовательность символов «urn:» не чувствительна к регистру. А идентификаторы пространства имён «urn» и «URN» запрещены вообще, чтобы не возникло путаницы с этой начальной строкой «urn:».
Самоидентифицирующий URN
Эти URN в NID содержат название используемого хеша для их создания. NSS содержит значение этого хеша вычисленного из данных идентифицируемого объекта (файла). Такие URN получают свойства хешей т.е. для данных может быть создано множество различных URN но каждая URN может идентифицировать только один набор данных (файл).
Такие URN используются:
Примеры URN
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Разве это не одно и то же?
В чем разница между URI и URL? Мы все используем много URL-адресов ежедневно. Иногда мы их набираем, иногда мы просто переходим на один URL из другого.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Для начала давайте расшифруем аббревиатуры:
Почему? Как это работает?
Вернемся в интернет:
Как вы видите – первые две сточки в вашем браузере отобразились как ссылки и по ним можно перейти, однако по третьей сточке нельзя, потому что непонятно как и куда.
Как это можно показать наглядно:
Что такое URI?
URI обозначает Uniform Resource Identifier и по сути является последовательностью символов, которая идентифицирует какой-то ресурс. URI может содержать URL и URN.
URI содержит в себе следующие части:
Общий синтаксис URI выглядит так:
URI = scheme «:» hier-part [ «?» query ] [ «#» fragment ]
Что такое URL?
URL содержит следующую информацию:
[protocol]://www.[domain_name]:[port 80]/[path or exaction resource location]?[query]#[fragment]
Так как определить, является ли что-то URI или URL?
Что ж, если вы хотите знать, является ли это «что-то» URI или URL, вы всегда должны считать его как URI, потому что все URL являются URI.
Сравнение лицом к лицу: URI против URL
Давайте сделаем некоторое параллельное сравнение, чтобы все, что мы обсуждали до сих пор, было подкреплено, и вы никогда не запутаетесь в неправильном использовании URI и URL.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
SIP URI и URL. Часть 1 (URI, URL и URN)
В предыдущих двух статьях мы рассмотрели основы взаимодействия по протоколу SIP.
Далее я предлагаю разобраться с такой важной составляющей SIP, как SIP URI. Мы сталкивались с ними раньше, когда говорили о полях From, To и других, однако не уделяли им должного внимания.
В рамках этой короткой статьи мы рассмотрим, какие бывают URI и из чего они состоят. В следующей статье остановимся на URI и URL в протоколе SIP.
Викепедия говорит следующее: URI (англ. Uniform Resource Identifier) — унифицированный (единообразный) идентификатор ресурса. На английский манер произносится как [ю-ар-ай], по-русски чаще говорят [ури]. URI — это последовательность символов, идентифицирующая абстрактный или физический ресурс. Ранее назывался Universal Resource Identifier — универсальный идентификатор ресурса.
При этом URI может указывать как местоположение ресурса (URL), так и его имя (URN). А может содержать и то и другое. То есть URL и URN — это частные случаи URI.
URI строится по определенным правилам и состоит из обязательных схемы и иерархической части, а также опциональных запроса (ему предшествет знак «?») и фрагмента (ему предшествует знак «#»). Иерархическая часть в свою очередь состоит из необязательного Authority (думаю, перевод только усложнит понимание) и обязательного пути. Authority включает в себя Userinfo (логин и пароль), хост и порт. Кроме того, путь может содержать так называемые параметры. Параметры используются не часто, но нам повезло — в SIP URI они присутствуют. На схеме это выглядит вот так:
Выглядит довольно запутанно, поэтому приведу пример:
URL (Uniform Resource Locator) указывает путь (локацию) объекта и метод получения доступа к нему. Например, en.wikipedia.org/wiki/Main_Page указывает на главную страницу английской Википедии и в качестве метода доступа предлагает использовать протокол http.
URL описывается в RFC 1738. В этом RFC указаны описаны различные схемы для протоколов ftp, http, nntp и т.д. Послкольку URL — это частный случай URI, схема в общем случае выглядит точно так же, однако для разных протоколов актуальны те или иные ее части. Например, для протокола telnet, схема URL выглядит следующим образом:
Интересный факт: Тим Бернерс-Ли, основоположник URL в последствии сожалел, что разделил точкой доменные имена в рамках URL. URL мог бы выглядеть вот так:
URN не используется в рамках SIP, однако без него рассказ был бы неполным.
URN (Uniform Resource Name) является уникальным именем объекта. URN включает в себя название пространства имен и идентификатора в этом пространстве. Типичный пример URN — это ISDN-Имя книги. URN состоит из NID (namespace identifier или идентификатор пространства имен) и NSS (namespace-specific string или уникального для данного пространства имен имени). Схематично это выглядит следующим образом:
Чтобы стало совсем понятно, приведу следующий пример. Допустим, мы хотим описать некого Ивана.
С помощью этого URN мы одназначно идентифицируем Ивана, но не сможем определить его местоположение. Здесь нам поможет URL. Выглядеть это может примерно так: машина: город N/улица M/квартира L. Где «машина» — это метод получения доступа, а «город N. » — путь.
Подведем итог. URN отвечает идентифицирует ресурс по имени и отвечает на вопрос «Что?». URL — указывает путь и метод доступа к ресурсу и отвечает на вопросы «Где?» и «Как?». При этом URN и URL — это частные случаи URI.
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
URN (Uniform Resource Name)
Содержание
История
URI разработаны таким образом, чтобы выполнять функции и имени, и адреса. После того, как они поступили в IETF для стандартизации, их стали именовать унифицированными указателями информационных ресурсов (Uniform Resource Locators); одновременно началась работа над разработкой унифицированных имен ресурсов (Uniform Resource Names).
URN: запрос RFC1737, выпущенный в декабре 1994 г., был назван «Функциональные требования для унифицированных имен ресурсов» (Functional Requirements for Uniform Resource Names).
В настоящее время применение URN приобрело уже значительные масштабы. Имена URN стали неотъемлемой частью расширяемого языка разметки XML. Всё чаще и чаще URN реализуются в популярном программном обеспечении. Хотя до того момента, когда URN вытеснят URL, видимо, ещё далеко, но уже сейчас можно сказать, что перспективы у URN отличные. URN несомненно станет универсальным стандартом именования ресурсов.
Отличие от URL
Унифицированные имена ресурсов (URN) предназначены, чтобы служить постоянными, независимыми от расположения, идентификаторами ресурсов и разработаны для упрощения отображения других пространств имен (которые совместно используют свойства URN) в URN-пространство. Таким образом, синтаксис URN обеспечивает средство закодировать символьные данные в форме, которая может быть отправлена посредством существующих протоколов, записана при помощи большинства клавиатур, и т.д. Т. е., в отличие от URL, который ссылается на какое-то место, где хранится документ, URN ссылается на сам документ, и при перемещении документа в другое место ссылка не изменится. [1]
В силу того, что URN концептуально отличается от URL, то и система разрешения имен у него другая — DDDS, которая преобразует URN в URL, по которым можно найти ресурс/объект или что бы то ни было, на что ссылается URN.
URN отвечает идентифицирует ресурс по имени и отвечает на вопрос «Что?». URL — указывает путь и метод доступа к ресурсу и отвечает на вопросы «Где?» и «Как?». При этом URN и URL — это частные случаи URI.
Структура URN
URN имеет следующий вид: urn:» «:»
NID должен начинаться только с буквы или цифры.
Так же, слово «urn» для NID является зарезервированным, дабы избежать неоднозначности при определении URN в целом.
Список официально зарегистрированных NID можно посмотреть тут
, октеты 127-255 (7F-FF hex)
Самоидентифицирущий URN
Такие URN содержат в NID название хэш-функции, а в NSS значение хэша, вычисленного для идентифицируемого объекта. Такие ссылки используются в magnet-ссылках и заголовках p2p-сети Gnutela2.
С теорией все, во второй части рассмотрим, что можно и что нужно делать с URI, если мы их обрабатываем, а именно — нормализация, разбор и т.д.
Что такое URI, URL, URN и чем они различаются
Пост из серии «Ликбез». Всегда хотел это понять, но значимость его была настолько мала, что всегда находился повод этого не делать.
А вы задавались вопросом: URL — что это?
Всегда с таким сталкиваюсь, но до сих пор не желал понять в чем различие между терминами URI, URL, URN.
По началу, данная статья была результатом перевода «в лоб», в результате чего по ней разгорелись довольно нешуточные комментарии.
Позже, я решил переосмыслить чужие доводы и отчасти переписал первоисточник, стараясь внести ясность в повествование.
Вы когда-нибудь обращали внимание на адресную строку в Вашем браузере?
Что это? URI, URL или URN?
Многие из нас не делают различий между URI, URL, URN, а кое-кто даже и не слышал терминов URI и URN, все просто пользуются термином URL.
Давайте вместе попытаемся разобраться в этом.
Расшифровка аббревиатур
В чем различия
URL: Исторически возник самым первым из понятий и закрепился как синоним термина веб-адрес. URL определяет местонахождение ресурса в сети и способ его (ресурса) извлечения.
Это позволяет нам полностью узнать: как, кому и где можно достать требуемый ресурс, вводя понятия схемы, данных авторизации и местонахождения.
URN: Неизменяемая последовательность символов определяющая только имя некоторого ресурса. Смысл URN в том, что им единоразово и уникально именуется какая-либо сущность в рамках конкретного пространства имен (контекста), либо без пространства имен, в общем (что не желательно). Таким образом, URN способен преодолеть недостаток URL связанный с возможным будущим изменением и перемещением ссылок, однако, теперь для того, чтобы знать местонахождение URN ресурса необходимо обращаться к системе разрешения имен URN, в которой он должен быть зарегистрирован.
URI: Это лишь обобщенное понятие (множество) идентификации ресурса, включающее в нашем случае как URL, так и URN, как по отдельности, так и совместно. Т.е. мы можем считать, что: URI = URL или URI = URN или URI = URL + URN
Подведем итоги
Да простят меня собеседники, но, чтобы не вводить в заблуждение читателей, мной была удалена часть спорных комментариев.