Пример URI, который не является URL? - PullRequest
36 голосов
/ 07 апреля 2009

Мне неоднократно объясняли, что все URL-адреса являются URI, но не все URI являются URL-адресами. Кто-нибудь может привести пример чего-то, что является URI, но не URL?

Ответы [ 6 ]

29 голосов
/ 07 апреля 2009

Пример украденного у здесь (где также есть описание различий):

URL     http://www.pierobon.org/iis/review1.htm
URN     www.pierobon.org/iis/review1.htm#one
URI     http://www.pierobon.org/iis/review1.htm.html#one
11 голосов
/ 07 апреля 2009
6 голосов
/ 07 апреля 2009

Унифицированное имя ресурса (URN) - это URI, который идентифицирует ресурс по имени в определенном пространстве имен. URN может использоваться для разговора о ресурсе без указания его местоположения или способа доступа к нему. Например, URN urn: isbn: 0-395-36341-1 является URI

От: Википедия: http://en.wikipedia.org/wiki/Uniform_Resource_Identifier

3 голосов
/ 07 апреля 2009

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

Возможность идентифицировать правильную XML-схему необходима, если вы должны проверить XML-файл. Средства идентификации должны быть разделены между контентом и авторами схемы, прежде чем успешная проверка может означать что-либо полезное. URI удовлетворяют эту потребность так же хорошо, как и все остальное. Имейте в виду, что схема не обязательна для использования файла XML. Следовательно, он не обязательно должен быть универсальным или доступным, он просто должен быть идентифицируемым. Семантика URI позволяет избежать того, что ресурс должен быть расположен «здесь», как в случае с URL-адресом, и по уважительной причине. Такая деталь не имеет отношения к задаче идентификации.

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

1 голос
/ 22 ноября 2018

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

взято отсюда: https://webmasters.stackexchange.com/questions/19101/what-is-the-difference-between-a-uri-and-a-url

Я считаю, что ответ от TofuBeer (большинство проголосовавших до сих пор) неправильный.

0 голосов
/ 07 апреля 2009

Типичным случаем будет URN , который является URI формата urn:namespace-id:resource-id. В Википедии:

Определенные в 1997 году в RFC 2141, URN должны были служить постоянные, независимые от местоположения идентификаторы, позволяющие отображение пространств имен в одно пространство имен URN. Существование такой URI не подразумевает доступность идентифицированного ресурса, но такие URI должны оставаться глобально уникальными и постоянными, даже когда ресурс перестает существовать или становится недоступным.

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

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

...