В чем разница между URI, URL и URN?

http url uri urn

246399 просмотра

4 ответа

1246 Репутация автора

В чем разница между URI, URL и URN? Я прочитал много сайтов (даже Википедия), но я не понимаю этого.

URI: http://www.foo.com/bar.html
URL: http://www.foo.com/bar.html
URN: bar.html

Это верно?

Автор: thom Источник Размещён: 06.02.2011 12:40

Ответы (4)


317 плюса

11235 Репутация автора

Решение

Uniform Resource Identifier ( URI) - это строка символов, используемая для идентификации имени или ресурса в Интернете.

URI идентифицирует ресурс либо по местоположению, либо по имени, либо по обоим. URI имеет две специализации, известные как URL и URN.

Унифицированный указатель ресурса ( URL) - это подмножество унифицированного идентификатора ресурса (URI), которое указывает, где идентифицированный ресурс доступен и механизм его получения. URL-адрес определяет, как ресурс может быть получен. Это не обязательно должен быть HTTP URL (http: //), URL также может быть (ftp: //) или (smb: //).

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

URN являются частью более широкой информационной архитектуры Интернета, которая состоит из URN, URC и URL-адресов.

bar.html не является URN . URN похож на имя человека, а URL-адрес похож на уличный адрес. URN определяет идентичность чего-либо, а URL-адрес предоставляет местоположение. По сути, «что» против «где». URN должен иметь такую ​​форму, <URN> ::= "urn:" <NID> ":" <NSS>где <NID>это Идентификатор пространства имен, и <NSS>это строка, специфичная для пространства имен.

Другими словами:

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

Я бы сказал, что единственное, что осталось сделать, чтобы сделать это на 100% ясным, это иметь пример URI, который не является URL. Мы можем использовать примеры в RFC3986 :

URL: ftp://ftp.is.co.za/rfc/rfc1808.txt
URL: http://www.ietf.org/rfc/rfc2396.txt
URL: ldap://[2001:db8::7]/c=GB?objectClass?one
URL: mailto:John.Doe@example.com
URL: news:comp.infosystems.www.servers.unix
URL: telnet://192.0.2.16:80/
URN (not URL): urn:oasis:names:specification:docbook:dtd:xml:4.1.2
URN (not URL): tel:+1-816-555-1212 (?)

Также проверьте это - https://quintupledev.wordpress.com/2016/02/29/difference-between-uri-url-and-urn/

Автор: ayush Размещён: 06.02.2011 12:46

2 плюса

567 Репутация автора

URI (унифицированный идентификатор ресурса) согласно Википедии :

строка символов, используемая для идентификации ресурса.

URL (Uniform Resource Locator) - это URI, который подразумевает механизм взаимодействия с ресурсом. Например, https://www.google.com определяет использование HTTP в качестве механизма взаимодействия. Не все URI должны передавать специфичную для взаимодействия информацию.

URN (Uniform Resource Name) - это конкретная форма URI, в которой в качестве схемы используется urn. Для получения дополнительной информации об общей форме URI обратитесь к https://en.wikipedia.org/wiki/Uniform_Resource_Identifier#Syntax

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

Автор: gst Размещён: 17.09.2014 03:26

110 плюса

7111 Репутация автора

Ниже я подвожу удивительное объяснение Пратика Джоши .

Теория:

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

Это:

введите описание изображения здесь

И для примера:

введите описание изображения здесь

Кроме того, если вы еще этого не сделали, я предлагаю прочитать ответ Роджера Пейта .

Автор: Gustavo Mori Размещён: 16.10.2014 05:56

51 плюса

15449 Репутация автора

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

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

  • http://example.com/mypage.html
  • ftp://example.com/download.zip
  • mailto:user@example.com
  • file:///home/user/file.txt
  • 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 могут идентифицировать идеи и концепции. Они не ограничиваются идентификацией документов. Когда URN действительно представляет документ, он может быть преобразован в URL «распознавателем». Документ может быть загружен с URL.

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

URI охватывает как URL, URN, так и другие способы указания ресурса.

Примером URI, который не является ни URL, ни URN, может быть URI данных, например data:,Hello%20World. Это не URL или URN, потому что URI содержит данные. Он не называет его и не указывает, как найти его по сети.

Существуют также унифицированные ссылки на ресурсы (URC), которые указывают на метаданные о документе, а не на сам документ. Примером УРК будет индикатором для просмотра исходного кода веб - страницы: view-source:http://example.com/. URC - это другой тип URI, который не является ни URL, ни URN.

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

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

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

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

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

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

Хороший вопрос. Я видел много мест в Интернете, которые утверждают, что это правда. Я не смог найти никаких примеров чего-то, что является и URL, и URN. Я не вижу, как это возможно, потому что URN начинается с urn:недопустимого сетевого протокола.

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

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

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

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

Разница между URL и URI имеет какое-либо отношение к тому, имеет ли он идентификатор фрагмента?

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

Является ли tel:URI URL - адрес или URN?

Например tel:1-800-555-5555. Он не начинается с urn:и имеет протокол для доступа к ресурсу через сеть. Это должен быть URL.

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

Да. W3C осознал, что в этом есть куча путаницы. Они выпустили разъясняющий документ URI, в котором говорится, что теперь можно использовать URL и URI взаимозаменяемо. Больше не нужно строго сегментировать URI на разные типы, такие как URL, URN и URC.

Автор: Stephen Ostermiller Размещён: 04.03.2015 09:52
Вопросы из категории :
32x32