URI и URL мы встречаем постоянно:
▫️ в адресной строке браузера
▫️ в документации к API
▫️ в постановках задач API: Base URL, URI, endpoint
На первый взгляд, всё это одно и то же: просто «ссылка», «эндпоинт» или «адрес метода».
👉 Да, URI и URL часто используют как взаимозаменяемые понятия. Но технически это не одно и то же.
Коротко:
🌟 URL — это один из видов URI.
🌟 Каждый URL является URI, но не каждый URI является URL.
А ещё существует URN.
Разберёмся на простых примерах 👇
1️⃣ URI — идентификатор ресурса
Uniform Resource Identifier
Это общее понятие: строка, которая идентифицирует какой-либо ресурс.
Примеры URI:
+ https://api.example.com/v1/products/42
+ mailto:user@example.com
+ urn:isbn:9783161484100
👉 Все три записи идентифицируют ресурсы, но делают это по-разному.
2️⃣ URL — адрес ресурса
Uniform Resource Locator
Он не только идентифицирует ресурс, но и показывает, где он находится и как к нему обратиться.
Например:
https://api.example.com/v1/products/42
По этому адресу клиент может отправить HTTP-запрос и получить данные о товаре.
https://getanalyst.ru/about
Это URL, который вы вводите в браузере, чтобы перейти на страницу "О нас" на веб-сайте с доменом "getanalyst.ru".
Здесь:
▫️ https — схема обращения
▫️ api.example.com и getanalyst.ru — домены
▫️ /v1/products/42 и /about— пути к ресурсам
👉 Поэтому данные строки являются одновременно:
✅ URI — потому что идентифицирует ресурс
✅ URL — потому что указывает его адрес и способ обращения
3️⃣ URN — имя ресурса
Uniform Resource Name
Он идентифицирует ресурс по устойчивому имени, но не указывает, где этот ресурс находится.
Например:
urn:isbn:9783161484100
urn:issn:2049-3630
Это уникальные идентификаторы книги.
Книга может продаваться в разных магазинах и храниться в разных библиотеках, но её ISBN/ISSN от этого не изменится.
URN может идентифицировать не только книгу. Например, <urn:uuid:...> задаёт устойчивый идентификатор объекта. При этом URN не сообщает, на каком сервере находится объект и как его получить.
👉 Итого по URN:
✅ является URI
❌ не является URL: сам по себе не указывает сетевой адрес ресурса и способ его получения
Главное, что нужно запомнить:
✅ URI — общее понятие: идентификатор ресурса
✅ URL — URI, который показывает адрес ресурса и способ обращения
✅ URN — URI, который задаёт устойчивое имя ресурса, но не указывает адрес
В REST API мы преимущественно работаем с HTTP(S) URL.
А слово endpoint обычно используют для обозначения точки обращения к API: сочетания HTTP-метода (GET/POST/PUT...) и адреса ресурса.
Теперь, увидев в постановке задачи Base URL, URI и endpoint, вы точно знаете, почему это не три названия одного и того же 😉
——-
P.S. А к чему относится "mailto:user@example.com"?
——-
#AI_for_analysts #RestApiGA
📱 Tg | 💙 ВК | 💬 Max
