Примеры URI, URL и URN
Я прочитал много статей об URI, URL и URN, но я не понимаю разницу в реальных примерах.
Не могли бы вы привести несколько примеров URI и URL?
Я думаю http://stack.com/first/index.html?submit=yes&action=go#second
такое URI, а не URL, да?
затем http://stack.com/first/index.html
такое URL, потому что он не такой специфичный?
Это изображение правильно?
2 ответа
Вот цитата из " ОТДЫХА на практике" Дж. Веббера, С. Парастатидиса, И. Робинсона, которая отражает суть различий:
URL и URN являются специальными формами URI.
URI, который идентифицирует механизм доступа к ресурсу, обычно называется URL. HTTP URI являются примерами URL.
Если URI имеет урну в качестве своей схемы и соответствует требованиям RFC 2141 и RFC 2611, это URN. Целью URN является предоставление глобально уникальных имен для ресурсов.
Кстати, ISBN этой книги - ISBN-13: 978-0596805821. Если вы нажмете на ссылку Amazon.com Почему важен ISBN, вы увидите всплывающую подсказку:
Этот номер штрих-кода позволяет вам убедиться, что вы получаете абсолютно правильную версию или издание книги.
Это пример URN (и URI по определению) в urn:isbn
пространство имен, которое не предполагает какой-либо механизм извлечения этого ресурса, но идентифицирует его.
Если у вас есть какая-то ссылка на книгу в Интернете, например, в формате PDF, это будет URL (и URI по определению) и будет выглядеть примерно так:
https://www.somewebsite.org/books/RestInPractice.pdf
Нет, изображение не правильное. Ваши два примера - и URI, и URL.
Каждый URL является URI.
Каждый URN является URI.
Фон
В соответствии с URI, URL и URN W3C : разъяснения и рекомендации 1.0 (также опубликованные IETF под номером RFC 3305):
В классическом представлении URI - это URL, если он указывает местоположение ресурса, а URI - это URN, если он указывает имя ресурса.
С современной точки зрения, такое разграничение не актуально и не полезно.
Может возникнуть путаница, поскольку термины "URI" и "URL" часто используются как синонимы.
Использование одного термина для всего: URI или URL
Стандарт Интернета для URI, STD 66 (который в настоящее время соответствует RFC 3986), рекомендует:
В будущих спецификациях и соответствующей документации следует использовать общий термин "URI", а не более ограничительные термины "URL" и "URN".
URL Живой стандарт WHATWG (и его версия W3C) гласит:
Стандартизировать термин URL. URI и IRI просто сбивают с толку. На практике один и тот же алгоритм используется для обоих, поэтому их различие не помогает никому.
Моя рекомендация
- Используйте "URL" и / или "URI" (или "IRI", если разница значима) для всего.
- Используйте "URN" только для URI с
urn
Схема URI, и только если вам нужно быть конкретным.