Ответ
URI (Uniform Resource Identifier) — это общий термин для строки, которая идентифицирует какой-либо ресурс.
URL (Uniform Resource Locator) — это подтип URI, который не только идентифицирует ресурс, но и предоставляет информацию о месте его нахождения (доступе) в сети.
Проще: Все URL являются URI, но не все URI являются URL.
Классификация URI:
- URL (Locator): Указывает как и где найти ресурс.
- Пример:
https://example.com/docs/page.html - Пример:
ftp://files.example.com/archive.zip
- Пример:
- URN (Uniform Resource Name): Указывает уникальное имя ресурса в конкретном пространстве имён, но не путь к нему.
- Пример:
urn:isbn:0451450523(книга) - Пример:
urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66
- Пример:
Сравнение на примерах:
| Пример | Тип | Объяснение |
|---|---|---|
https://api.service.com/users/123 |
URL (и URI) | Содержит протокол (https), хост (api.service.com) и путь (/users/123) для доступа к ресурсу. |
mailto:user@domain.com |
URI (но не URL в строгом смысле) | Идентифицирует ресурс (почтовый адрес), но не указывает его местоположение в сети для прямого доступа. Это URI scheme. |
./config.yaml |
Относительный URI | Идентифицирует ресурс относительно текущего контекста. |
Техническая деталь: В современных спецификациях (RFC 3986) концепция URN и URL считается устаревшей, и все они рассматриваются просто как URI. Однако различие между "идентификатором" (URI) и "адресом" (URL) остаётся полезным на практике.