Skip to content

Instantly share code, notes, and snippets.

@nikolai-shabalin
Created November 20, 2023 08:15
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nikolai-shabalin/33044ad95bfb60fee55235fadf1172ec to your computer and use it in GitHub Desktop.
Save nikolai-shabalin/33044ad95bfb60fee55235fadf1172ec to your computer and use it in GitHub Desktop.
В этой памятке-шпаргалке короткий обзор про разницу между URI, URL, URN и URC.

URL

intro

В этой памятке-шпаргалке короткий обзор про разницу между URI, URL, URN и URC.

Анатомия

uri anotomy

Формат этого URL построен на основе общего синтаксиса URI, который выглядит следующим образом:

URI = scheme ":" ["//" authority] path ["?" query] ["#" fragment]

"Authority" может иметь следующий синтаксис:

authority = [userinfo "@"] host [":" port]

URI scheme

Вначале всегда требуется указать схему. Схемы, к которым мы привыкли: http://, https://, ssh://. Также иногда называется "протоколом", который является показателем того, как можно получить доступ к ресурсу.

Официальный реестр имен схем URI ведется организацией IANA по адресу http://www.iana.org/assignments/uri-schemes.

Двойные косые черты были выбраны Тимом Бернерсом-Ли, о чем он сожалеет, поскольку они не имеют другого назначения.

Userinfo

"UserInfo" является необязательным параметром. Большинство браузеров игнорируют эту информацию или предупреждают, поскольку она представляет собой угрозу безопасности.

nikolai-shabalin@iddqd

Host

Host в URI обычно представляет собой доменное имя или IP-адрес сервера, на котором расположен ресурс.

https://htmlacademy.ru/study

Domain

Примеры:

  • www.example.com - полное доменное имя
  • www - поддомен
  • example - домен второго уровня (SDL)
  • com - домен верхнего уровня (TDL), также называемый доменным "суффиксом" или "расширением домена"
  • . - ссылка: корневая зона

Port

Многие схемы имеют номер порта по умолчанию, что позволяет большинству программ скрывать номер порта, чтобы не путать своих пользователей. http имеет порт 80, https - порт 443, ssh - порт 22 и т.д. То же самое относится и к транспортному протоколу, например TCP или UDP. Они необходимы, но большинство приложений скрывают их, если используется порт по умолчанию, например, браузеры скрывают :443 и показывают :10443, если используется протокол https.

Path

Путь представляет собой иерархическую систему именования подкаталогов или подпапок и файлов, идет слева направо и является обязательным. В отличие от доменов, путь чувствителен к регистру!

https://assets.htmlacademy.ru/img/logo.v2.svg

путь приводит к файлу

https://htmlacademy.ru/study

Браузер открывает подпапку study, а веб-сервер настроен таким образом, что предоставляет браузеру заранее определенный файл. Обычно такие файлы называются index.html, но в разных конфигурациях это может быть по-разному. Это также называется 'Pretty URLs'.

Queries

Несет необязательные параметры, которые могут быть использованы на сервере или на сайте клиента. Обычно это информация о реферере, переменные, настройки опций и т.д. Разделителями между параметрами являются & и ;.

https://htmlacademy.ru/courses/297?promo=free

Fragment

Фрагменты - это необязательные ссылки на определенное место в ресурсе. Например, такие HTML-якоря в HTML-файлах.

https://htmlacademy.ru/courses#fe-start

Разница между абсолютным и относительным URL

Относительным URL часто достаточно только пути, и для их работы требуется ссылка или базовый URL.

/img/logo.png

Разница между URI, URL, URN и URC

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

URL расшифровывается как "Uniform Resource Locator" и указывает, где находится идентифицированный ресурс и каков механизм доступа к нему. Более подробная информация приведена выше.

URN

Идентификация ресурса по уникальному и постоянному имени без указания местоположения

URC

URC расшифровывается как "Uniform Resource Characteristic" или "Uniform Resource Citation".

URC указывает на метаданные ресурса, а не на сам ресурс. В качестве примера можно привести URC, указывающий на исходный код домашней страницы:

view-source:http://example.com/.

Тем не менее, окончательный стандарт так и не был разработан, и URC так и не получили широкого распространения.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment