http - разница - urn это




В чем разница между URI, URL-адресом и URN? (20)

Идентификатор = имя + местоположение

Каждый URL ( U niform R esource L ocator) является URI ( U niform R esource I dentifier), абстрактно говоря, но каждый URI не является URL-адресом. Существует еще одна подкатегория URI - URN ( U niform R esource N ame), которая является именованным ресурсом, но не определяет, как их найти, например mailto, news, ISBN - это URI. Source

URN:

  • Формат URN: urn:[namespace identifier]:[namespace specific string]
  • urn: и: станьте для себя.
  • Examples :
    • Урна: UUID: 6e8bc430-9c3a-11d9-9669-0800200c9a66
    • Урна: ISSN: 0167-6423
    • Урна: ISBN: 096139210x
    • Имена ресурсов Amazon (ARN) - это уникальные ресурсы AWS.
      • ARN Формат: arn:partition:service:region:account-id:resource

URL:

  • Формат URL: [scheme]://[Domain][Port]/[path]?[queryString]#[fragmentId]
  • : // ,? и # для себя.
  • схемы https, ftp, gopher, mailto, news, telnet, file, man, info, whatis, ldap ...
  • Примеры:
    • http://ip_server/path?query
    • ftp://ip_server/path
    • почты: Email-адрес
    • Новости: телеконференция имя
    • телнет: // ip_server /
    • Файл: // ip_server / path_segments
    • LDAP:? // HostPort / дп атрибуты области фильтра расширения?

Аналогия:
Чтобы связаться с человеком: Вождение (другие протоколы SMS, электронная почта, телефон), Адрес (имя хоста другого номера телефона, адрес электронной почты) и имя человека (имя объекта с относительным путем).

Люди говорят о URL-адресах , URI и URN, как будто они разные, но они выглядят одинаково невооруженным глазом.

Каковы отличимые различия между ними?


URI - унифицированный идентификатор ресурса

URI являются стандартом для идентификации документов с использованием короткой строки цифр, букв и символов. Они определены RFC 3986 - Унифицированный идентификатор ресурса (URI): общий синтаксис . URL, URN и URC - это все типы URI.

URL - Единый указатель ресурсов

Содержит информацию о том, как извлечь ресурс из своего местоположения. Например:

  • http://example.com/mypage.html
  • ftp://example.com/download.zip
  • mailto:[email protected]
  • file:///home/user/file.txt
  • tel:1-888-555-5555
  • http://example.com/resource?foo=bar#fragment
  • /other/link.html (относительный URL-адрес, полезный только в контексте другого URL-адреса)

URL-адреса всегда начинаются с протокола ( http ) и обычно содержат информацию, такую ​​как имя сетевого узла ( example.com ) и часто путь к документу ( /foo/mypage.html ). URL-адреса могут содержать параметры запроса и идентификаторы фрагментов.

URN - Название унифицированного ресурса

Определяет ресурс уникальным и постоянным именем, но не обязательно указывает вам, как его найти в Интернете. Обычно он начинается с префикса urn: Например:

  • urn:isbn:0451450523 чтобы идентифицировать книгу по ее номеру ISBN.
  • urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66 глобально уникальный идентификатор
  • urn:publishing:book - пространство имен XML, которое идентифицирует документ как тип книги.

УРН могут идентифицировать идеи и концепции. Они не ограничиваются идентификацией документов. Когда URN действительно представляет документ, его можно преобразовать в URL-адрес с помощью «resolver». Затем документ можно загрузить с URL-адреса.

URC - Единая ссылка на ресурсы

Указывает на метаданные о документе, а не на самом документе. Примером URC является тот, который указывает на исходный код HTML страницы, например: view-source:http://example.com/

URI данных

Вместо того, чтобы находить его в Интернете или называть его, данные могут быть помещены непосредственно в URI. Примером могут быть data:,Hello%20World .

Часто задаваемые вопросы

Я слышал, что больше не должен говорить URL, почему?

Спецификация W3 для HTML говорит, что href тега привязки может содержать URI, а не только URL-адрес. Вы должны иметь возможность использовать URN, например <a href="urn:isbn:0451450523"> . Затем ваш браузер будет разрешать этот URN URL-адресу и загружать книгу для вас.

Действительно ли какие-либо браузеры действительно знают, как получать документы по URN?

Не то, что я знаю, но современный веб-браузер реализует схему URI данных.

Разница между URL-адресом и URI имеет отношение к тому, является ли оно относительным или абсолютным?

Нет. Оба относительных и абсолютных URL-адреса являются URL-адресами (и URI).

Разница между URL и URI связана с тем, имеет ли он параметры запроса?

Нет. Оба URL с параметрами запроса и без него - это URL (и URI).

Разница между URL и URI связана с тем, имеет ли он идентификатор фрагмента?

Нет. Оба URL с идентификаторами фрагментов и без них - это URL (и URI).

Разница между URL и URI связана с тем, какие символы разрешены?

Нет. URL-адреса определены как строгие подмножества URI. Если парсер разрешает символ в URL-адресе, но не в URI, в парсере есть ошибка. Спецификации подробно описывают, какие символы разрешены в тех частях URL-адресов и URI. Некоторые символы могут разрешаться только в некоторых частях URL-адреса, но только символы не являются разницей между URL-адресами и URI.

Но разве W3C теперь не говорит, что URL-адреса и URI - это одно и то же?

Да. W3C понял, что в этом есть путаница. Они выпустили документ с разъяснением URI, в котором говорится, что теперь можно использовать термины URL и URI взаимозаменяемо (для обозначения URI). Теперь нецелесообразно строго сегментировать URI для разных типов, таких как URL, URN и URC.

Может ли URI быть как URL, так и URN?

Определение URN теперь слабее, чем указано выше. Последний RFC на URI говорит, что любой URI теперь может быть URN (независимо от того, начинается ли он с urn: если у него есть «свойства имени». То есть: он глобально уникален и настойчив, даже когда ресурс перестает существовать или становится недоступным. Пример: URI, используемые в доктринах HTML, например http://www.w3.org/TR/html4/strict.dtd . Этот URI будет продолжать называть переходный doctype HTML4, даже если страница на веб-сайте w3.org была удалена.


URI => URI

URL-адреса являются подмножеством URI (которые также содержат URN).

В основном, URI является общим идентификатором, где URL-адрес указывает местоположение, а URN указывает имя.


URI идентифицирует ресурс как по местоположению, так и по имени, или и тому и другому. Чаще всего большинство из нас используют URI, которые определяют местоположение для ресурса. Тот факт, что URI может идентифицировать ресурсы как по имени, так и по местонахождению, на мой взгляд приводит к большой путанице. URI имеет две специализации, известные как URL и URN.

URL-адрес - это спецификация URI, которая определяет сетевое расположение определенного ресурса. В отличие от URN, URL-адрес определяет способ получения ресурса. Мы используем URL-адреса каждый день в виде http://.com и т. Д. Но URL-адрес не обязательно должен быть URL-адресом HTTP, это может быть ftp://example.com и т. Д.


Вкратце: URI идентифицирует, URL идентифицирует и находит.

Рассмотрим конкретное издание пьесы Шекспира « Ромео и Джульетта» , из которых у вас есть цифровая копия в вашей домашней сети.

Вы можете определить текст как urn:isbn:0-486-27557-4 .
Это будет URI, но более конкретно URN *, потому что он называет текст .

Вы также можете идентифицировать текст как file://hostname/sharename/RomeoAndJuliet.pdf .
Это также будет URI, но более конкретно URL-адресом, поскольку он находит текст .

* Единое имя ресурса

(Обратите внимание, что мой пример адаптирован из URI )


Другим примером, который я хотел бы использовать, когда думают об URI, является атрибут xmlns XML-документа:

<rootElement xmlns:myPrefix="com.mycompany.mynode">
    <myPrefix:aNode>some text</myPrefix:aNode>
</rootElement>

В этом случае com.mycompany.mynode будет URI, который однозначно идентифицирует пространство имен «myPrefix» для всех элементов, которые используют его в моем XML-документе. Это НЕ URL-адрес, потому что он используется только для идентификации, а не для того, чтобы найти что-то само по себе.


Из-за трудностей с тем, чтобы четко различать URI и URL, насколько я помню, W3C больше не имеет значения между URI и URL ( http://www.w3.org/Addressing/ ).


Небольшое дополнение к уже опубликованным ответам, вот диаграмма Венна, чтобы подвести итог теории (от красивого explanation Пратеек Джоши):

И пример (также с сайта Пратека):


См. Этот документ . В частности,

URL-адрес - это тип URI, который идентифицирует ресурс через представление его основного механизма доступа (например, его местоположение сети), а не некоторые другие атрибуты, которые он может иметь.

На самом деле это не очень понятный термин.


Согласно RFC 3986 , URI состоят из следующих частей:

scheme://authority/path?query

URI описывает протокол для доступа к ресурсу ( пути ) или приложению ( запросу ) на сервере ( полномочия ).

Все URL-адреса являются URI, а все URN - это URI, но все URI не являются URL-адресами.

Пожалуйста, обратитесь за дополнительной информацией:

Wikipedia


Это одна из самых запутанных и, возможно, нерелевантных тем, с которыми я столкнулся как профессионал в Интернете.

Как я понимаю, URI - это описание чего-то, в соответствии с принятым форматом, который может определять как уникальное имя (идентификацию), так и его местоположение.

Существует два базовых подмножества - URL-адреса, которые определяют местоположение (особенно для браузера, пытающегося найти веб-страницу) и URN, которые определяют уникальное имя чего-то.

Я склонен думать о том, что URN похожи на GUID. Это просто стандартизованная методология предоставления уникальных имен для вещей. Как и в декларации пространства имен, которая использует название компании - это не так, как есть ресурс, сидящий на сервере где-то, чтобы соответствовать этой строке текста - он просто однозначно идентифицирует что-то.

Я также стараюсь полностью исключить термин URI и обсуждать вещи только с точки зрения URL или URN, если это необходимо, потому что это вызывает много путаницы. Вопрос, который мы должны действительно пытаться ответить людям, - это не столько семантика, сколько то, как определить, когда встречаются термины, есть ли в них какая-либо практическая разница, которая изменит подход к ситуации программирования. Например, если кто-то поправляет меня в разговоре и говорит: «О, это не URL-адрес, это URI». Я знаю, что они полны этого. Если кто-то говорит «мы используем URN для определения ресурса», я, скорее всего, пойму, что мы называем его однозначно, а не размещаем его на сервере.

Если я уйду с базы, пожалуйста, дайте мне знать!


Это очень хорошо написанные, но долгожданные ответы. Вот разница в отношении CodeIgniter :

URL - http://example.com/some/page.html

URI - /some/page.html

Проще говоря, URL-адрес - это полный способ указать любой ресурс в любом месте и может иметь разные протоколы, такие как FTP, HTTP, SCP и т. Д.

URI - это ресурс в текущем домене, поэтому ему требуется меньше информации.

В каждом случае, когда CodeIgniter использует URL-адрес или URI слова, это различие, о котором они говорят, хотя в грандиозной схеме Интернета это не на 100% правильно.


URI, URL, URN

Как видно из приведенного выше изображения, здесь есть три различных компонента. Обычно лучше обратиться к источнику при обсуждении таких вопросов, так что вот выдержка из Тима Бернерса-Ли и др. и др. в RFC 3986: Единый идентификатор ресурса (URI): общий синтаксис:

Унифицированный идентификатор ресурса (URI) представляет собой компактную последовательность символов, которая идентифицирует абстрактный или физический ресурс.

URI можно дополнительно классифицировать как локатор, имя или и то, и другое. Термин «Единый указатель ресурсов» (URL) относится к подмножеству URI, которые в дополнение к идентификации ресурса предоставляют средство поиска ресурса, описывая его механизм первичного доступа (например, его местоположение сети).


URL

URL-адрес - это спецификация URI, которая определяет сетевое расположение определенного ресурса. В отличие от URN, URL-адрес определяет способ получения ресурса. Мы используем URL-адреса каждый день в виде http://example.com и т. Д. Но URL-адрес не обязательно должен быть URL-адресом HTTP, это может быть также ftp://example.com и т. Д.

URI

URI идентифицирует ресурс как по местоположению, так и по имени, или и тому и другому. Чаще всего большинство из нас используют URI, которые определяют местоположение для ресурса. Тот факт, что URI может идентифицировать ресурсы как по имени, так и по местонахождению, на мой взгляд приводит к большой путанице. URI имеет две специализации, известные как URL и URN.

Разница между URL и URI

URI - это идентификатор для некоторого ресурса, но URL-адрес дает вам конкретную информацию о получении этого ресурса. URI - это URL-адрес, и, как отметил один из комментаторов, теперь считается неправильным использование URL-адреса при описании приложений. Как правило, если URL-адрес описывает как местоположение, так и имя ресурса, используемым термином является URI. Поскольку это обычно так, что большинство из нас сталкиваются каждый день, URI - правильный термин.


Легко объяснить:

Предположим следующее

URI - ваше имя

URL - это ваш адрес с вашим именем, чтобы связаться с вами.

  • меня зовут Лойола

    Лойола - это URI

  • мой адрес - TN, Chennai 600001.

TN, Chennai 600 001, Loyola - URL

Надеюсь, вы понимаете,

Теперь давайте посмотрим точный пример

http://www.google.com/fistpage.html

в приведенном выше вы можете связаться со страницей firstpage.html ( URI ), используя следующий http://www.google.com/fistpage.html ( URL ).

Следовательно, URI является подмножеством URL-адреса, но не наоборот.


Прежде всего уберите свой ум из-за путаницы и проясните это, и вы поймете.

URI => Унифицированный идентификатор ресурса Определяет полный адрес ресурса, то есть местоположение, имя или и то, и другое.

URL => Uniform Resource Locator Определяет местоположение ресурса.

URN => Унифицированное имя ресурса Определяет имя ресурса

пример

У нас есть адрес https://www.google.com/folder/page.html где,

URI (Единый идентификатор ресурса) => https://www.google.com/folder/page.html

URL (Uniform Resource Locator) => https://www.google.com/

URN (унифицированное имя ресурса) => /folder/page.html

URI => (URL + URN) или только URL или только URN


Унифицированный идентификатор ресурса (URI) представляет собой строку символов, которая идентифицирует интернет-ресурс.

Наиболее распространенным URI является Единый указатель ресурса (URL), который идентифицирует адрес домена в Интернете. Другим, не очень распространенным типом URI является Universal Resource Name (URN).


Я нашел:

Единый идентификатор ресурса (URI) представляет собой нечто большое. Вы можете разделить URI / URIs, которые можно классифицировать как локаторы (единые идентификаторы ресурсов - URL) или имена (унифицированное имя ресурса - URN) или оба. Таким образом, в основном URN функционирует как имя человека, а URL-адрес изображает адрес этого человека. Короче говоря, URN определяет идентификатор элемента, в то время как URL-адрес определяет метод его нахождения, окончательно инкапсулируя эти два понятия, это URI


Мне было интересно об одном и том же, и я нашел это: http://docs.kohanaphp.com/helpers/url .

Вы можете увидеть ясный пример, используя этот url::current()метод. Если у вас есть этот URL : http://example.com/kohana/index.php/welcome/home.html?query=stringто с помощью url:current()дает URI , которые, согласно документации, является: приветственным / домом


Не забывайте URN. URI и URL-адреса являются как URN. У URL-адресов есть местоположение:

URI: foo
URL: http://some.domain.com/foo
URL: http://some.domain.com:8080/foo
URL: ftp://some.domain.com/foo

Все они являются УРН.







rfc3986