QRkoder

Структура URL

Стандартная анатомия адреса ресурса в интернете по RFC 3986: scheme://[userinfo@]host[:port]/path[?query][#fragment]. Каждый компонент выполняет отдельную функцию — от выбора протокола до передачи параметров аналитики.

Что такое URL и зачем нужна его структура

URL (Uniform Resource Locator) — это стандартизированный адрес любого ресурса в интернете: веб-страницы, изображения, API-эндпоинта, файла. Стандарт описан в RFC 3986 и определяет синтаксис, которому следуют браузеры, поисковые роботы, QR-сканеры и любое ПО, работающее с сетевыми ресурсами.

Общая форма записи:

scheme://[userinfo@]host[:port]/path[?query][#fragment]

Квадратные скобки означают необязательные части. На практике большинство URL содержат только scheme, host, path и иногда query — остальное опционально.

Компоненты URL и их назначение

Разберём каждую часть на конкретном примере:

https://qrkoder.ru:443/blog/qr-kody?utm_source=qr&page=2#comments
  • Scheme (схема)https. Определяет протокол передачи данных. Для веба это HTTPS или HTTP; существуют также ftp, mailto, tel, sms, intent (Android deep links). Scheme всегда отделяется от остального URL двоеточием и двумя косыми чертами.
  • Host (хост)qrkoder.ru. Доменное имя или IP-адрес сервера, на котором расположен ресурс. Регистронезависим: QRkoder.RU и qrkoder.ru эквивалентны. Может включать поддомен: app.qrkoder.ru.
  • Port (порт)443. Числовой идентификатор сетевой службы. HTTPS использует 443 по умолчанию, HTTP — 80. Стандартные порты в URL опускают: https://qrkoder.ru и https://qrkoder.ru:443 — один и тот же адрес.
  • Path (путь)/blog/qr-kody. Иерархическая часть, разделённая косыми чертами. Указывает на конкретный ресурс или раздел на сервере. Регистрозависима: /Blog/QR-Kody и /blog/qr-kody — разные пути.
  • Query (строка запроса)utm_source=qr&page=2. Начинается с символа ?, параметры разделяются &. Передаёт дополнительные данные: UTM-метки для аналитики, фильтры, идентификаторы сессий. Порядок параметров технически не важен, но может влиять на кэширование и canonical.
  • Fragment (фрагмент)comments. Начинается с символа #. Указывает на конкретный элемент страницы по его id. Не отправляется на сервер — браузер обрабатывает его самостоятельно, прокручивая страницу к нужному якорю.

Кодирование и длина URL

URL по стандарту может содержать только ограниченный набор ASCII-символов. Всё остальное — кириллица, пробелы, специальные символы — должно быть закодировано через percent-encoding: каждый байт символа записывается как %XX, где XX — шестнадцатеричный код. Пример: пробел → %20, буква «я» → %D1%8F.

RFC 3986 не устанавливает жёсткий лимит на длину URL. На практике ограничения исходят от приложений:

  • Браузеры (Chrome, Firefox): около 32 000 символов
  • Серверы (Apache, Nginx по умолчанию): 8 000–16 000 символов
  • Рекомендация для SEO и совместимости: не более 2048 символов

Для QR-кодов длина URL критична: каждый дополнительный символ увеличивает плотность модулей в коде и снижает надёжность сканирования. Адрес из 30 символов даёт компактный код версии 3–4; адрес из 300 символов — версии 15–20, который плохо читается с расстояния и в условиях слабого освещения. Поэтому длинные URL в QR заменяют короткими ссылками через URL Shortener.

Частые вопросы

Чем URL отличается от URI и URN?

URI (Uniform Resource Identifier) — общее понятие для любого идентификатора ресурса. URL — подвид URI, который содержит адрес (где найти ресурс). URN — другой подвид, который содержит имя (что это такое), например urn:isbn:978-5-000-00000-0. В обиходе «URL» и «URI» используют как синонимы — различие важно лишь в формальных спецификациях.

Почему QR-код хуже сканируется при длинном URL?

QR-код хранит данные в матрице модулей (чёрно-белых квадратов). Чем длиннее строка, тем больше модулей нужно, тем плотнее матрица. При стандартном распечатанном размере 3×3 см плотный код версии 20+ содержит элементы размером менее 0,5 мм — камера смартфона не всегда их разрешает. Оптимум: URL до 50–80 символов, код версии 4–7, уверенное сканирование с 20–30 см.

Что такое «нормализация URL» и зачем она нужна?

Нормализация — приведение URL к единому виду: схема в нижний регистр, удаление стандартного порта, декодирование безопасных percent-encoded символов, добавление или удаление завершающего слэша. Нужна для правильного кэширования, дедупликации в базах данных и корректной работы canonical URL. Без нормализации два одинаковых ресурса могут храниться по двум разным адресам.

Как fragment (#) связан с SEO?

Fragment не передаётся на сервер и не индексируется поисковиками как отдельная страница. Googlebot видит URL без части после #. Исключение — hashbang-ссылки #!/path (устаревшая практика AJAX-сайтов). Современные SPA используют History API для навигации без # и без потери индексируемости.

Можно ли использовать кириллицу в URL?

Технически да — через IDN (Internationalized Domain Names) для хоста и percent-encoding для пути. Браузеры отображают кириллический домен в строке адреса в человекочитаемом виде, но передают его в формате Punycode: qrkoder.рфxn--qrkoder-p1a.xn--p1ai. Для QR-кодов кириллические URL нежелательны: после percent-encoding адрес вырастает в 2–3 раза, а некоторые старые сканеры их не поддерживают.

Влияет ли структура URL на ранжирование в поиске?

Да, но в пределах разумного. Google и Яндекс предпочитают короткие, читаемые URL с ключевыми словами в пути (/blog/qr-kody лучше /p?id=4821). Иерархия пути отражает структуру сайта и помогает роботу понять тематику страницы. Чрезмерное количество параметров в query снижает краулинговый бюджет и может привести к дублям без правильного canonical.

Создавайте QR-коды бесплатно

Динамические QR-коды с аналитикой, дизайном и без ограничений по сканированиям.

Начать бесплатно