qatoolqa.ru

Разбор URL: части адреса и параметры

Длинная ссылка с десятком параметров — вставьте её и получите таблицу: схема, хост, порт, путь, каждый query-параметр отдельной строкой в декодированном виде, фрагмент. Здесь же кодирование и декодирование percent-encoding в обе стороны, с корректной кириллицей.

Адрес

Параметры запроса

Процентное кодирование

Что стоит помнить

Пробел кодируется двумя способами. В пути это %20, а в строке запроса исторически ещё и +. Раскодируете query обычным decodeURIComponent — плюсы останутся плюсами, и «Иван Петров» превратится в «Иван+Петров». Здесь параметры разбираются по правилам query, поэтому плюс становится пробелом.

Повторяющиеся параметры — норма. ?id=1&id=2 допустимо, и языки обрабатывают это по-разному: где-то возьмётся первый, где-то последний, где-то список. Ниже такие параметры показаны все, отдельными строками — расхождение бэкенда с фронтендом ищется именно так.

Регистр значит не везде одно и то же. Схема и хост регистронезависимы (HTTP://EXAMPLE.COM — тот же адрес), а путь, имена и значения параметров — зависимы: /Users и /users это разные пути.

Фрагмент на сервер не уходит. Всё после # остаётся в браузере и в логах сервера не появится. Отсюда и совет не класть туда ничего чувствительного — впрочем, в query тоже не стоит: он оседает в логах сервера и в истории браузера. А вот про Referer оговорка: при нынешнем умолчании strict-origin-when-cross-origin на чужой сайт уходит только origin, без пути и параметров. Внутри своего сайта — адрес целиком, и вот там query видно.

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

Почему ссылка ломается на пробеле или плюсе?

В query-строке плюс исторически означает пробел, а сам плюс должен быть закодирован как %2B. Разбор покажет, какое значение реально придёт на бэкенд.

Как читать %D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82?

Это UTF-8 в percent-encoding. Вставьте ссылку — параметры декодируются в читаемый русский текст.

Что делать с одинаковыми параметрами?

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