Единый идентификатор ресурса - Uniform Resource Identifier
Домен | Всемирная паутина |
---|---|
Сокращение | URI |
А Единый идентификатор ресурса (URI) представляет собой строку символы что однозначно определяет конкретный ресурс. Гарантировать единообразие, все URI следуют заранее определенному набору синтаксических правил,[1] но также поддерживать расширяемость через отдельно определенный иерархический схема именования (например, http: //
).
Такая идентификация позволяет взаимодействовать с представлениями ресурса по сети, обычно Всемирная паутина, используя конкретные протоколы. Схемы с указанием бетона синтаксис и связанные протоколы определяют каждый URI. Самая распространенная форма URI - это универсальный указатель ресурсов (URL ), часто называемый неофициально веб-адрес. Реже встречается в использовании Единое имя ресурса (URN), который был разработан для дополнения URL-адресов, предоставляя механизм для идентификации ресурсов, в частности пространства имен.
URL-адреса и URN
А Единое имя ресурса (URN) - это URI, который идентифицирует ресурс по имени в определенном пространстве имен. URN может использоваться, чтобы говорить о ресурсе без указания его местоположения или способа доступа к нему. Например, в Международный стандартный номер книги (ISBN) система, ISBN 0-486-27557-4 определяет конкретное издание пьесы Шекспира Ромео и Джульетта. URN для этого издания будет урна: isbn: 0-486-27557-4. Однако он не дает информации о том, где найти копию этой книги.
А Единый указатель ресурсов (URL) - это URI, который указывает средства воздействия на ресурс или получения его представления, то есть указывающий как его основной механизм доступа, так и сетевое расположение. Например, URL http://example.org/wiki/Main_Page
относится к ресурсу, обозначенному как / wiki / Main_Page
, представление которых в виде HTML и связанный код, можно получить через Протокол передачи гипертекста (http:) с сетевого хоста, чей доменное имя является example.org
.
URN можно сравнить с именем человека, а URL-адрес - с его почтовым адресом. Другими словами, URN идентифицирует элемент, а URL-адрес предоставляет метод для его поиска.
Технические публикации, особенно стандарты, выпущенные IETF и по W3C, обычно отражают точку зрения, изложенную в Рекомендация W3C от 2001 г., в котором признается приоритет термина URI, а не одобряется какое-либо формальное разделение на URL и URN.
URL - это полезная, но неформальная концепция: URL-адрес - это тип URI, который идентифицирует ресурс через представление его основного механизма доступа (например, его сетевое «местоположение»), а не с помощью некоторых других атрибутов, которые он может иметь.[2]
Таким образом, URL-адрес - это просто URI, который указывает на ресурс в сети.[а][3] Однако в нетехническом контексте и в программном обеспечении для World Wide Web термин «URL» по-прежнему широко используется. Кроме того, термин «веб-адрес» (не имеющий формального определения) часто встречается в нетехнических публикациях как синоним URI, который использует http или же https схемы. Такие предположения могут привести к путанице, например, в случае пространств имен XML, которые имеют визуальное сходство с разрешаемыми URI.
Технические характеристики WHATWG предпочитать URL над URI, поэтому новые API HTML5 используют URL над URI.[4]
Стандартизируйте термин URL. URI и IRI [международный идентификатор ресурса] просто сбивают с толку. На практике для обоих используется один алгоритм, поэтому их различие никому не помогает. URL также легко побеждает в конкурсе популярности результатов поиска.[5]
Хотя большинство схем URI изначально были разработаны для использования с определенными протокол, и часто имеют одно и то же имя, они семантически отличаются от протоколов. Например, схема http обычно используется для взаимодействия с веб-ресурсы используя HTTP, но схема файл не имеет протокола.
Общий синтаксис
Определение
Каждый URI начинается с имени схемы, которое относится к спецификации для присвоения идентификаторов в этой схеме. Таким образом, синтаксис URI представляет собой объединенную и расширяемую систему именования, в которой спецификация каждой схемы может дополнительно ограничивать синтаксис и семантику идентификаторов, использующих эту схему. Общий синтаксис URI - это надмножество синтаксиса всех схем URI. Впервые он был определен в RFC 2396, опубликовано в августе 1998 г.,[6] и завершено в RFC3986, опубликовано в январе 2005 г.[7]
В Общий синтаксис URI состоит из иерархической последовательности пяти составные части:[8]
URI = scheme: [// авторитет] путь [? Запрос] [# фрагмент]
где авторитетная составляющая делится на три подкомпоненты:
Authority = [userinfo @] host [: port]
Это представлено в синтаксическая диаграмма в качестве:
URI включает:
- Непустой схема компонент, за которым следует двоеточие (
:
), состоящий из последовательности символов, начинающейся с буквы, за которой следует любая комбинация букв, цифр, плюс (+
), период (.
) или дефис (-
). Хотя в схемах регистр не учитывается, каноническая форма - это строчные буквы, и в документах, в которых указаны схемы, должны использоваться строчные буквы. Примеры популярных схем включаютhttp
,https
,ftp
,mailto
,файл
,данные
, иirc
. Схемы URI должны быть зарегистрированы с Управление по присвоению номеров в Интернете (IANA), хотя на практике используются незарегистрированные схемы.[b] - Необязательный
//
), включающий:- Необязательный userinfo подкомпонент, который может состоять из имя пользователя и необязательный пароль перед двоеточием (
:
), за которым следует символ at (@
). Использование форматаимя пользователя Пароль
в подкомпоненте userinfo устарел по соображениям безопасности. Приложения не должны отображать в виде открытого текста любые данные после первого двоеточия (:
) найденный в подкомпоненте userinfo, если данные после двоеточия не являются пустой строкой (указывающей на отсутствие пароля). - А хозяин подкомпонент, состоящий из зарегистрированного имени (включая, помимо прочего, имя хоста ) или айпи адрес. IPv4 адреса должны быть в точечно-десятичная запись, и IPv6 адреса должны быть заключены в скобки (
[]
).[10][c] - Необязательный порт подкомпонент, которому предшествует двоеточие (
:
).
компонент, которому предшествуют две косые черты ( - Необязательный userinfo подкомпонент, который может состоять из имя пользователя и необязательный пароль перед двоеточием (
- А дорожка компонент, состоящий из последовательности сегментов пути, разделенных косой чертой (
/
). Путь всегда определяется для URI, хотя указанный путь может быть пустым (нулевой длины). Сегмент также может быть пустым, что приведет к двум последовательным косым чертам (//
) в компоненте пути. Компонент пути может напоминать или точно соответствовать путь к файловой системе, но не всегда подразумевает отношение к одному. Если присутствует компонент полномочий, то компонент пути должен быть пустым или начинаться с косой черты (/
). Если компонент полномочий отсутствует, то путь не может начинаться с пустого сегмента, то есть с двух косых черт (//
), поскольку следующие символы будут интерпретироваться как компонент полномочий.[12] Последний отрезок пути можно обозначить как 'слизняк '.
Разделитель запроса | Пример |
---|---|
Амперсанд (& ) | ключ1 = значение1 & ключ2 = значение2 |
Точка с запятой (; )[d] | ключ1 = значение1; ключ2 = значение2 |
- Необязательный запрос компонент, которому предшествует вопросительный знак (
?
), содержащий Строка запроса неиерархических данных. Его синтаксис плохо определен, но по соглашению чаще всего представляет собой последовательность пары атрибут – значение разделены разделитель. - Необязательный фрагмент компонент, которому предшествует хэш (
#
). Фрагмент содержит идентификатор фрагмента предоставление направления вторичному ресурсу, например заголовку раздела в статье, идентифицируемому остальной частью URI. Когда основным ресурсом является HTML документ, фрагмент частоя бы
атрибут определенного элемента, и веб-браузеры прокрутят этот элемент в поле зрения.
Строки данных октеты внутри URI представлены в виде символов. Разрешенные символы в URI - это ASCII символы для строчных и прописных букв современного английский алфавит, то арабские цифры, дефис, период, подчеркивать, и тильда.[14] Октеты, представленные любым другим символом, должны быть закодированный в процентах.
Из набора символов ASCII символы : / ? # [ ] @
зарезервированы для использования в качестве разделителей общих компонентов URI и должны быть закодированы в процентах - например, % 3F
для вопросительного знака.[15] Персонажи ! $ & ' ( ) * + , ; =
Общий синтаксис URI разрешает использовать в незашифрованном виде информацию о пользователе, хосте и пути в качестве разделителей.[10][16] Кроме того, :
и @
может отображаться незакодированным в пути, запросе и фрагменте; и ?
и /
могут отображаться незакодированными как данные в запросе или фрагменте.[16][17]
Примеры
На следующем рисунке показаны примеры URI и их составные части.
порт хоста userinfo ┌──┴───┐ ┌──────┴──────┐ ┌┴┐ https: //[email protected]: 123 / forum / questions /? tag = network & order = newest # top └─┬─┘ └────────────┬──────────────┘└──────── ──────┘ └───────────┬───────────── └┬┘ фрагмент запроса пути полномочий схемы ldap: // [2001: db8 :: 7] / c = GB? ObjectClass? One └┬─┘ └──────┬─────┘└─┬─┘ └───────┬──────┘ схема запрос пути к авторитетному адресу mailto: [email protected] └─┬──┘ └────┬─────────────┘ схема пути новости: comp.infosystems.www.servers. unix └┬─ └─────────────┬───────────────── схема пути тел: + 1-816-555-1212 └┬┘ └──────┬──────┘ схема пути telnet: //192.0.2.16: 80 / └─┬──┘ └─────┬─────┘│ схема авторитетный путь urn: oasis: names: спецификация: docbook: dtd: xml: 4.1.2 └┬┘ └────────────────────────┬─── ─────────────────── схема пути
Ссылки URI
Определение
А Ссылка на URI является либо URI, либо относительная ссылка если он не начинается с компонента схемы, за которым следует двоеточие (:
).[18] Сегмент пути, содержащий символ двоеточия (например, foo: bar
) не может использоваться в качестве первого сегмента пути относительной ссылки, если его компонент пути не начинается с косой черты (/
), так как это было бы ошибочно принято за компонент схемы. Такому сегменту пути должен предшествовать точечный сегмент пути (например, ./foo:bar
).[19]
Веб-документ языки разметки часто используют ссылки URI, чтобы указать на другие ресурсы, такие как внешние документы или определенные части того же логического документа:[20]
- в HTML, значение
src
атрибутimg
элемент предоставляет ссылку на URI, как и значениеhref
атрибута
или жесвязь
элемент; - в XML, то системный идентификатор появившийся после
СИСТЕМА
ключевое слово в DTD ссылка на URI без фрагментов; - в XSLT, значение
href
атрибутxsl: import
элемент / инструкция - это ссылка на URI; точно так же первый аргументдокумент()
функция.
Примеры
https://example.com/path/resource.txt#fragment//example.com/path/resource.txt/path/resource.txtpath/resource.txt../resource.txt./resource.txtresource.txt# фрагмент
Разрешение URI
Определение
An абсолютный URI - это URI без фрагментного компонента.
Разрешение ссылка URI на базовый URI приводит к целевой URI. Это означает, что базовый URI существует и является абсолютным URI. Базовый URI может быть получен в порядке приоритета из:[21]
- сам ссылочный URI, если это URI;
- содержание представления;
- сущность, инкапсулирующая представление;
- URI, используемый для фактического извлечения представления;
- контекст приложения.
Примеры
Внутри представления с четко определенным базовым URI
http: // a / b / c / d; p? q
относительная ссылка преобразуется в целевой URI следующим образом:[22]
«g: h» -> «g: h» «g» -> «http: // a / b / c / g» «./g» -> «http: // a / b / c / g» "g /" -> "http: // a / b / c / g /" "/ g" -> "http: // a / g" "// g" -> "http: // g" " ? y "->" http: // a / b / c / d; p? y "" g? y "->" http: // a / b / c / g? y "" #s "-> "http: // a / b / c / d; p? q # s" "g # s" -> "http: // a / b / c / g # s" "g? y # s" -> "http: // a / b / c / g? y # s" "; x" -> "http: // a / b / c /; x" "g; x" -> "http: // a / b / c / g; x "" g; x? y # s "->" http: // a / b / c / g; x? y # s "" "->" http: // a / b / c / d; p? q "". " -> "http: // a / b / c /" "./" -> "http: // a / b / c /" ".." -> "http: // a / b /" ". ./ "->" http: // a / b / "" ../g "->" http: // a / b / g "" ../ .. "->" http: // a / "" ../../ "->" http: // a / "" ../../g "->" http: // a / g "
История
Именование, адресация и идентификация ресурсов
URI и URL-адреса имеют общую историю. В 1994 г. Тим Бернерс-Ли предложения по гипертекст[23] неявно представил идею URL-адреса как короткой строки, представляющей ресурс, который является целью гиперссылка. В то время люди называли это «гипертекстовым именем».[24] или «название документа».
В течение следующих трех с половиной лет, по мере развития основных технологий Всемирной паутины, таких как HTML, HTTP и веб-браузеры, возникла необходимость отличать строку, предоставляющую адрес для ресурса, от строки, которая просто называет ресурс. Хотя это еще не официально определено, термин Единый указатель ресурсов стали олицетворять первых, и более спорных Единое имя ресурса пришел представлять последнее.
Во время дебатов по определению URL-адресов и URN стало очевидно, что концепции, воплощенные в двух (2) терминах, были просто аспектами фундаментального, всеобъемлющего понятия ресурса. идентификация. В июне 1994 г. IETF опубликовано Бернерс-Ли с RFC 1630,[25] первый Запрос комментариев который подтвердил существование URL-адресов и URN. Что наиболее важно, он определил формальный синтаксис для Универсальные идентификаторы ресурсов (то есть URL-подобные строки, точный синтаксис и семантика которых зависели от их схем). Кроме того, RFC попытался обобщить синтаксис схем URL, используемых в то время. Он признал - но не стандартизировал - наличие относительных URL-адресов и идентификаторов фрагментов.[нужна цитата ]
Уточнение спецификаций
В декабре 1994 г. RFC 1738 формально определенные относительные и абсолютные URL-адреса, уточненный общий синтаксис URL-адресов, определен способ преобразования относительных URL-адресов в абсолютную форму и более точный перечень используемых в то время схем URL-адресов. Согласованное определение и синтаксис URN пришлось ждать до публикации RFC2141 в мае 1997 г.
Публикация RFC2396 в августе 1998 года синтаксис URI стал отдельной спецификацией.[6] и большинство частей RFC 1630 и 1738, касающихся URI и URL в целом, были пересмотрены и расширены IETF. Новый RFC изменил значение «U» в «URI» на «Uniform» с «Universal».
В декабре 1999 г. RFC2732 предоставил незначительное обновление RFC 2396, позволяющее использовать URI IPv6 адреса. Ряд недостатков, обнаруженных в двух спецификациях, вызвали усилия сообщества, координируемые соавтором RFC 2396. Рой Филдинг, что завершилось публикацией RFC3986 в январе 2005 года. Несмотря на то, что предыдущий стандарт был устаревшим, он не сделал устаревшими детали существующих схем URL; RFC 1738 продолжает управлять такими схемами, если иное не отменено. RFC2616 например, уточняет http
схема. Одновременно IETF опубликовала содержание RFC 3986 в виде полного стандартного STD 66, отражающего создание универсального синтаксиса URI в качестве официального Интернет-протокола.
В 2001 году группа технической архитектуры W3C (TAG) опубликовала руководство по лучшие практики и канонические URI для публикации нескольких версий данного ресурса.[26] Например, контент может отличаться по языку или размеру, чтобы регулировать емкость или настройки устройства, используемого для доступа к этому контенту.
В августе 2002 г. RFC3305 указал, что термин «URL», несмотря на широкое общественное использование, практически устарел и служит лишь напоминанием о том, что некоторые URI действуют как адреса, имея схемы, предполагающие доступность сети, независимо от любого такого фактического использования. В качестве стандартов на основе URI, таких как Структура описания ресурсов Совершенно очевидно, что идентификация ресурсов не обязательно должна предполагать получение представлений ресурсов через Интернет, и при этом они не обязательно должны подразумевать сетевые ресурсы вообще.
В Семантическая сеть использует схему HTTP URI для идентификации как документов, так и концепций в реальном мире, различие, которое вызвало путаницу в том, как их различать. В 2005 году TAG опубликовал электронное письмо о том, как решить эту проблему, которое стало известно как httpRange-14 разрешение.[27] W3C впоследствии опубликовал заметку группы интересов под названием Классные URI для семантической сети,[28] что объяснило использование согласование содержания и HTTP 303 код ответа для переадресации более подробно.
Связь с пространствами имен XML
В XML, а пространство имен - это абстрактный домен, которому может быть назначен набор имен элементов и атрибутов. Имя пространства имен - это символьная строка, которая должна соответствовать универсальному синтаксису URI.[29] Однако имя обычно не считается URI,[30] потому что спецификация URI основывает решение не только на лексических компонентах, но и на их предполагаемом использовании. Имя пространства имен не обязательно подразумевает какую-либо семантику схем URI; например, имя пространства имен, начинающееся с http: может не иметь никакого отношения к использованию HTTP.
Первоначально имя пространства имен могло соответствовать синтаксису любой непустой ссылки URI, но использование относительных ссылок URI не рекомендовалось консорциумом W3C.[31] Отдельная спецификация W3C для пространств имен в XML 1.1 разрешает международный идентификатор ресурса (IRI) ссылки, которые служат основой для имен пространств имен в дополнение к ссылкам URI.[32]
Смотрите также
- КЮРИ - определяет общий сокращенный синтаксис для выражения URI
- Разыменяемый унифицированный идентификатор ресурса - механизм поиска ресурсов, который использует любой из интернет-протоколов (например, HTTP) для получения копии или представления ресурса, который он идентифицирует
- Расширяемый идентификатор ресурса - схема и протокол разрешения для абстрактных идентификаторов, совместимых с URI
- Интернационализированный идентификатор ресурса (IRI) - обобщение URI, позволяющее использовать Unicode
- Указатель интернет-ресурсов (IRL) - описано в RFC 1736, передает информацию о местоположении и доступе к ресурсам
- Постоянный унифицированный указатель ресурсов (PURL) - URI, который используется для перенаправления на расположение запрошенного веб-ресурса
- Единое соглашение об именах - общий синтаксис, используемый Microsoft для описания расположения сетевого ресурса, такого как общий файл, каталог или принтер
- Язык описания каталога ресурсов - описательный язык для предоставления машиночитаемой и удобочитаемой информации о конкретном пространстве имен и о XML-документах, которые его используют
- UUID
- Список схем URI - Официальные схемы, зарегистрированные IANA
Примечания
- ^ Отчет, опубликованный в 2002 году совместной рабочей группой W3C / IETF, был направлен на нормализацию разногласий, существующих в IETF и W3C по поводу взаимосвязи между различными терминами и стандартами «UR *». Хотя он не был опубликован в качестве полного стандарта ни одной из организаций, он стал основой для вышеуказанного общего понимания и с тех пор послужил основой для многих стандартов.
- ^ Процедуры регистрации новых схем URI были первоначально определены в 1999 г. RFC 2717, и теперь определяются RFC7595, опубликовано в июне 2015 года.[9]
- ^ Для URI, относящихся к ресурсам в Интернете, некоторые веб-браузеры позволяют
.0
части точечно-десятичной нотации, которые необходимо отбросить, или необработанные целые IP-адреса, которые будут использоваться.[11] - ^ Исторический RFC 1866 (устарело RFC2854 ) призывает авторов CGI поддерживать ';' в добавление к '&'.[13]
Рекомендации
Цитаты
- ^ RFC 3986 (2005), §3.0.
- ^ Совместная группа W3C / IETF по планированию URI (2001 г.).
- ^ Совместная группа W3C / IETF по планированию URI (2002).
- ^ «Стандарт URL: 6.3. API URL в другом месте».
- ^ "Стандарт URL: цели".
- ^ а б RFC 2396 (1998).
- ^ RFC 3986 (2005).
- ^ RFC 3986, раздел 3 (2005).
- ^ IETF (2015).
- ^ а б RFC 3986 (2005), §3.2.2.
- ^ Лоуренс (2014).
- ^ RFC 2396 (1998), §3.3.
- ^ RFC 1866 (1995), §8.2.1.
- ^ RFC 3986 (2005), §2.
- ^ RFC 3986 (2005), §2.2.
- ^ а б RFC 3986 (2005), §3.3.
- ^ RFC 3986 (2005), §3.4.
- ^ RFC 3986 (2005), §4.1.
- ^ RFC 3986 (2005), §4.2.
- ^ RFC 3986 (2005), §4.4.
- ^ RFC 3986 (2005), §5.1.
- ^ RFC 3986 (2005), §5.4.
- ^ Палмер (2001).
- ^ W3C (1992).
- ^ RFC 1630
- ^ W3C (2001).
- ^ Филдинг (2005).
- ^ W3C (2008).
- ^ Моррисон (2006).
- ^ Гарольд (2004).
- ^ W3C (2009).
- ^ W3C (2006).
Цитированные работы
- Филдинг, Рой Т. (2005-06-18). "[httpRange-14] Решено". Получено 2009-07-24.
- Гарольд, Эллиотт Расти (2004). XML 1.1 Библия (Третье изд.). Wiley Publishing. п. 291. ISBN 978-0-7645-4986-1.
- Совместная группа W3C / IETF по планированию URI (21 сентября 2001 г.). "URI, URL-адреса и URN: пояснения и рекомендации 1.0". Получено 2009-07-27.
- Обед, Майкл; Дененберг, Рэй, ред. (Август 2002 г.). «Отчет объединенной группы W3C / IETF по планированию URI: унифицированные идентификаторы ресурсов (URI), URL-адреса и универсальные имена ресурсов (URN): пояснения и рекомендации». Консорциум World Wide Web. Получено 2015-09-13.
- Хансен, Тони; Харди, Тед (июнь 2015 г.). Талер, Дэйв (ред.). «Рекомендации и процедуры регистрации для схем URI». Страницы запроса комментариев Ietf (RFC) - Тест. Инженерная группа Интернета. ISSN 2070-1721.
- Моррисон, Майкл Уэйн (2006). «Час 5: Использование пространств имен". Самс научитесь XML. Самс Паблишинг. п. 91.
- Палмер, Шон Б. (2001). «Ранняя история HTML». Получено 2009-04-30.
- Группа интересов по планированию URI, W3C / IETF (21 сентября 2001 г.). "URI, URL-адреса и URN: пояснения и рекомендации 1.0". Получено 2009-07-27.
- «Схемы именования W3». Консорциум World Wide Web. 1992. Получено 2009-07-24.
- «Связывание альтернативных представлений для обеспечения возможности обнаружения и публикации». Консорциум World Wide Web. 2006 [2001]. Получено 2012-04-03.
- Брей, Тим; Холландер, Дэйв; Обыватель, Андрей; Тобин, Ричард, ред. (2006-08-16). «Пространства имен в XML 1.1 (второе издание)». Консорциум World Wide Web. 2.2 Использование URI в качестве имен пространств имен. Получено 2015-08-31.
- Айерс, Дэнни; Фёлькель, Макс (2008-12-03). Зауэрманн, Лео; Cyganiak, Ричард (ред.). «Классные URI для семантической сети». Консорциум World Wide Web. Получено 2012-04-03.
- Брей, Тим; Холландер, Дэйв; Обыватель, Андрей; Тобин, Ричард; Томпсон, Генри С., ред. (2009-12-08). «Пространства имен в XML 1.0 (третье издание)». Консорциум World Wide Web. 2.2 Использование URI в качестве имен пространств имен. Получено 2015-08-31.
- Бернерс-Ли, Тим; Коннолли, Дэниел "Дэн" (Ноябрь 1995 г.). «Язык разметки гипертекста - 2.0». Инженерная группа Интернета. Получено 2015-09-13.
- Бернерс-Ли, Тим; Филдинг, Рой Т.; Масинтер, Ларри (Август 1998 г.). Универсальные идентификаторы ресурсов (URI): универсальный синтаксис. Инженерная группа Интернета. Дои:10.17487 / RFC2396. RFC 2396. Получено 2015-08-31.
- Бернерс-Ли, Тим; Филдинг, Рой Т.; Масинтер, Ларри (Январь 2005 г.). Универсальные идентификаторы ресурсов (URI): универсальный синтаксис. Инженерная группа Интернета. Дои:10.17487 / RFC3986. RFC 3986. Получено 2015-08-31.
- Бернерс-Ли, Тим; Филдинг, Рой Т.; Масинтер, Ларри (Январь 2005 г.). Универсальные идентификаторы ресурсов (URI): общий синтаксис, раздел 3, компоненты синтаксиса. Инженерная группа Интернета. Дои:10.17487 / RFC3986. RFC 3986. Получено 2015-08-31.
- Лоуренс, Эрик (2014-03-06). "Browser Arcana: IP-литералы в URL-адресах". IEInternals. Microsoft. Получено 2016-04-25.
внешняя ссылка
- Схемы URI – IANA - поддерживаемый реестр схем URI
- Схемы URI в вики W3C
- Архитектура всемирной паутины, Том первый, §2: Идентификация - Автор W3C
- Разъяснение W3C URI