Uniform Resource Identifier – стандарт Интернета
Uniform Resource Identifier – это стандарт Интернета, который позволяет легко идентифицировать ресурсы в сети. Определено в RFC 2396.
URI обычно представляет собой строку, написанную в соответствии с синтаксисом, указанным в стандарте. Эта строка определяет имя ( URN ) или адрес ( URL ) ресурса, идентифицированного этим URI.
URI может быть классифицирован как URL (универсальный указатель ресурса ) или URN (универсальное имя ресурса ).
Особым случаем URI является URL-адрес, который помимо идентификации ресурса также указывает, как получить к нему доступ.
Синтаксис URI
Краткая формула
<schema> : <иерархическая часть схемы>
или же
<schema> : <неиерархическая часть схемы>
Иерархическая часть всегда начинается с косой черты / (например, z : // ), в то время как неиерархические URI имеют только двоеточие : а остальные из них принимаются как одно целое и не анализируются .
Примеры:
http://www.wikipedia.org
http://www.wikipedia.org:8080
ftp://ftp.wikipedia.org
mailto: jakas-osoba@wikipedia.org
Первые три примера – это иерархические URI, а последний – неиерархический.
Полный шаблон иерархических URI
Источник: RFC 3986
<схема> : <иерархическая часть> [? <запрос> ] [# <фрагмент> ]
Детали в квадратных скобках не являются обязательными. Иерархическая часть может иметь следующую структуру:
// podmiot [ / cieka ]
/ cieka
Тема должна содержать имя хоста, которому, возможно, предшествуют имя пользователя и пароль: uytkownik:haso@host , uytkownik@host , возможно, за которым следует номер порта, разделенный двоеточием. Хост – это любое допустимое доменное имя или IP-адрес . Использование имени пользователя с паролем в URI обычно представляет собой серьезную дыру в безопасности и поэтому не рекомендуется. Запрос содержит дополнительные параметры для сервера, которые влияют на содержимое ответа. Типичное применение запросов – это веб-страницы, динамически генерируемые на веб-серверах с использованием технологии CGI , например страницы PHP . Запрос имеет форму параметров, значения которых назначаются после знака равенства, а последующие параметры разделяются амперсандом (&).
Пример URI
http://www.jakis-serwer.pl:8080/katalog1/katalog2/plik?parametr1=wartosc1¶metr2=wartosc2#fragment_dokumentu
\ __ / \ _________________ / \ ___ / \ _____________________ / \ ___________________________________ / \ ________________ /
| | | | | |
путь порта хоста схемы к фрагменту запроса файла
(протокол) (имя сервера)
Другие примеры:
http://pl.wikipedia.org/wiki/URI
http://www.google.com/search?hl=pl&q=uri
URI и URL
Фактически, URI является родительской концепцией и включает URL и URN как два разных способа представления одного и того же адреса. Основное различие между ними заключается в том, что URL-адрес по определению указывает местоположение, то есть место, из которого можно загрузить ресурс (адрес), и способ, которым это может быть сделано (протокол, например, http, ftp, …). URI предназначен только для идентификации и не обязательно указывает, откуда что-то можно загрузить. По умолчанию URI веб-сайта (например, http://www.wikipedia.org) приравнивается к его URL. Отсюда тот факт, что эти два термина часто используются как синонимы.
Однако различие между URL и URI играет ключевую роль в технологии RDF , которая представляет собой третье поколение семантической сети . Видение, изложенное создателем семантической паутины Тимом Бернерсом-Ли, заключается в сохранении человеческих знаний в машиночитаемой форме. В этой форме у всего есть свой уникальный идентификатор, интерпретируемый всеми одинаково – URI. Идентификаторы относятся как к абстрактным понятиям, так и к конкретным существам – людям, событиям и т.д. Существует необходимость в различении. URI домашней страницы не совпадает с URI ее владельца-человека. URI Википедии – это не то же самое, что URI Фонда Викимедиа – организации, которая им управляет, понимаемой как юридическое лицо. Созданы словари понятий, которые предоставляют URI понятиям, даже таким абстрактным, как «физическое существо» или «абстрактная сущность» . Исследования в этом направлении очень глубоко уходят корнями в философию.
URI также может использоваться для идентификации ресурсов на диске компьютера, файлов, записей календаря, контактов в адресной книге, сообщений электронной почты в почтовом ящике и т.д. В этом направлении идет целый ряд исследовательских проектов, например Haystac, Gnowsis, Nepomuk
По своей сути URI – это общий инструмент для идентификации всего. Идентифицировать его с помощью URL-адреса – адреса, с которого что-то можно загрузить из Интернета – является большим упрощением.