В этой памятке-шпаргалке короткий обзор про разницу между URI, URL, URN и URC.
Формат этого URL построен на основе общего синтаксиса URI, который выглядит следующим образом:
URI = scheme ":" ["//" authority] path ["?" query] ["#" fragment]
"Authority" может иметь следующий синтаксис:
authority = [userinfo "@"] host [":" port]
Вначале всегда требуется указать схему. Схемы, к которым мы привыкли: http://
, https://
, ssh://
. Также иногда называется "протоколом", который является показателем того, как можно получить доступ к ресурсу.
Официальный реестр имен схем URI ведется организацией IANA по адресу http://www.iana.org/assignments/uri-schemes.
Двойные косые черты были выбраны Тимом Бернерсом-Ли, о чем он сожалеет, поскольку они не имеют другого назначения.
"UserInfo" является необязательным параметром. Большинство браузеров игнорируют эту информацию или предупреждают, поскольку она представляет собой угрозу безопасности.
nikolai-shabalin@iddqd
Host в URI обычно представляет собой доменное имя или IP-адрес сервера, на котором расположен ресурс.
https://htmlacademy.ru/study
Примеры:
www.example.com
- полное доменное имяwww
- поддоменexample
- домен второго уровня (SDL)com
- домен верхнего уровня (TDL), также называемый доменным "суффиксом" или "расширением домена".
- ссылка: корневая зона
Многие схемы имеют номер порта по умолчанию, что позволяет большинству программ скрывать номер порта, чтобы не путать своих пользователей. http
имеет порт 80
, https
- порт 443
, ssh
- порт 22
и т.д. То же самое относится и к транспортному протоколу, например TCP
или UDP
. Они необходимы, но большинство приложений скрывают их, если используется порт по умолчанию, например, браузеры скрывают :443
и показывают :10443
, если используется протокол https
.
Путь представляет собой иерархическую систему именования подкаталогов или подпапок и файлов, идет слева направо и является обязательным. В отличие от доменов, путь чувствителен к регистру!
https://assets.htmlacademy.ru/img/logo.v2.svg
путь приводит к файлу
https://htmlacademy.ru/study
Браузер открывает подпапку study
, а веб-сервер настроен таким образом, что предоставляет браузеру заранее определенный файл. Обычно такие файлы называются index.html
, но в разных конфигурациях это может быть по-разному. Это также называется 'Pretty URLs'.
Несет необязательные параметры, которые могут быть использованы на сервере или на сайте клиента. Обычно это информация о реферере, переменные, настройки опций и т.д. Разделителями между параметрами являются &
и ;
.
https://htmlacademy.ru/courses/297?promo=free
Фрагменты - это необязательные ссылки на определенное место в ресурсе. Например, такие HTML-якоря в HTML-файлах.
https://htmlacademy.ru/courses#fe-start
Относительным URL часто достаточно только пути, и для их работы требуется ссылка или базовый URL.
/img/logo.png
URI расшифровывается как Uniform Resource Identifier и представляет собой уникальную строку символов для идентификации чего-либо и используется в веб-технологиях. URI могут использоваться для идентификации чего-либо логического или физического, от мест и названий до концепций и информации [2]
URI являются надмножеством URL (Uniform Resource Locator), URN (Uniform Resource Name) и URC (Uniform Resource Characteristic). Например, каждый URL является URI, но не каждый URI является URL. Тем не менее, на практике URI и URL часто используются как взаимозаменяемые понятия.
У разных подмножеств разные задачи: URN идентифицирует объект, URL позволяет узнать, как найти и получить доступ к объекту, а URC указывает на конкретные метаданные этого объекта. Примеры можно найти в специальных разделах.
URL расшифровывается как "Uniform Resource Locator" и указывает, где находится идентифицированный ресурс и каков механизм доступа к нему. Более подробная информация приведена выше.
Идентификация ресурса по уникальному и постоянному имени без указания местоположения
URC расшифровывается как "Uniform Resource Characteristic" или "Uniform Resource Citation".
URC указывает на метаданные ресурса, а не на сам ресурс. В качестве примера можно привести URC, указывающий на исходный код домашней страницы:
view-source:http://example.com/.
Тем не менее, окончательный стандарт так и не был разработан, и URC так и не получили широкого распространения.