URI

Оригинальное название: Uniform Resource Identifier (URI)

Коротко

Строка, которая однозначно обозначает ресурс: веб-страницу, почтовый ящик, книгу, телефон. Общее понятие, частными случаями которого являются URL и URN.

Что такое «URI»

Правила записи идентификаторов ресурсов описаны в стандарте RFC 3986 2005 года, одним из авторов которого был Тим Бернерс-Ли. Смысл в том, чтобы у любой вещи, к которой обращаются программы, было имя по единому синтаксису. Если имя одновременно говорит, где и как ресурс получить, это URL. Если оно только называет ресурс, не указывая места, это URN. Оба — разновидности URI, и в повседневной речи слова часто путают.

Из каких частей состоит

Общая схема: схема:[//источник]путь[?запрос][#фрагмент].

  • Схема — как понимать остальное: https, mailto, tel, urn.
  • Источник — хост, при необходимости с портом и данными пользователя: shop.example.ru:8443.
  • Путь — иерархическое имя ресурса внутри источника.
  • Запрос — дополнительные параметры после знака вопроса.
  • Фрагмент — часть ресурса после решётки; браузер на сервер его не отправляет. Подробнее — в статье про идентификатор фрагмента.

URI, которые не являются адресами страниц

mailto:info@example.ru?subject=Заявка
tel:+74951234567
urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66
data:text/plain;charset=utf-8,Hello

Ссылка mailto: открывает почтовую программу, tel: на смартфоне предлагает позвонить. URN с UUID просто называет объект, не говоря, где его взять. Схема data: содержит сами данные прямо внутри строки — так в HTML и CSS встраивают маленькие картинки. Все они подчиняются общему синтаксису, но страницей сайта не являются.

Кодирование символов

Стандарт разрешает в URI ограниченный набор символов латиницы, цифр и знаков. Всё остальное — кириллица, пробелы, кавычки — кодируется процентами: каждый байт в UTF-8 записывается как % и две шестнадцатеричные цифры. Слово «кот» в пути превращается в %D0%BA%D0%BE%D1%82, пробел — в %20. Браузер показывает пользователю красивую кириллицу, но по сети уходит закодированная строка. Для этого существует расширение стандарта — интернационализированные идентификаторы IRI, работающие поверх Unicode. Ошибки начинаются, когда одну и ту же строку кодируют дважды: в логах появляются адреса вида %25D0%25BA, и ссылка ведёт на несуществующую страницу.

Обновлено:

Все термины раздела «Backend»

Что будем искать? Например,Продвижение