Как разобрать URL на части: протокол, домен, путь и параметры

7 сентября 2026 г.

Ссылка вроде https://example.com/catalog/search?q=phone&page=2#results выглядит как каша. Но внутри неё всё строго: каждая часть отвечает за своё, и когда вы понимаете, какая — «странные» адреса перестают быть странными. Разберём по косточкам, а для проверки можно открыть парсер URL: вставляете ссылку — получаете разбор по полям.

Семь частей одной ссылки

  1. протокол — как общаться с сервером: https — защищённо, http — без шифрования, ftp — для файлов;
  2. домен — имя сервера: example.com. Буквы после точки — поддомен (www, m, api);
  3. порт — технически идёт после домена через двоеточие (:443), но почти всегда опускается, потому что у каждого протокола порт по умолчанию;
  4. путь — что именно запросить: /catalog/search;
  5. параметры — всё после знака вопроса: ?q=phone&page=2. Пары «ключ=значение» разделены амперсандом;
  6. якорь — после решётки: #results. К серверу не отправляется, это метка внутри уже открытой страницы.
  7. иногда встречается ещё userinfo (логин:пароль@) — наследие старины, сейчас почти не используется и в приличных ссылках его быть не должно.
Быстрая шпаргалка: протокол :// домен : порт / путь ? параметры # якорь. Всё, что до первого слэша после домена, — это адрес сервера; всё после знака вопроса — данные для него.

Зачем уметь читать параметры

Параметры — это способ передать серверу данные через саму ссылку. Поиск, фильтры каталога, номер страницы, UTM-метки рекламных кампаний — всё это живёт там. Умея читать query-параметры, вы можете скопировать ссылку с настроенными фильтрами и отправить коллеге — он увидит ровно то, что видели вы. А маркетолог по UTM-меткам (?utm_source=telegram) поймёт, из какого канала пришёл клиент.

Второй практический случай — отладка. Когда «сайт не открывается», первым делом смотрят на URL: правильный ли протокол, нет ли лишних параметров, не сломан ли путь. Ошибки вроде двойного слэша или процентного кодирования (%20 вместо пробела) видны сразу в разобранном виде.

Частые ловушки

  • проценты в параметрах: пробел в URL не живёт — он превращается в %20. Кириллица кодируется ещё длиннее (по два-три байта на букву);
  • якорь теряется при переходах: сервер его не видит, поэтому в статистике переходов #results никогда не будет;
  • порядок параметров не важен для сервера, но важен для кэша: ?a=1&b=2 и ?b=2&a=1 для него — разные строки;
  • http и https — разные origin: если страница открыта по https, запросы на http-версию заблокирует браузер.

Разобрать длинную ссылку руками можно, но незачем: вставьте её в парсер URL — получите протокол, домен, путь, каждый параметр отдельной строкой и разбор якоря. Работает прямо в браузере, ссылка никуда не отправляется.

Читайте также