Как пользоваться
- Вставьте полный URL, включая https:// или другую схему.
- Изучите таблицу компонентов. С помощью кнопок копирования можно скопировать отдельную часть, например имя хоста или путь.
- Проверьте параметры запроса: значения отображаются в декодированном виде и исходном порядке, повторяющиеся имена сохраняются.
- Измените, добавьте или удалите параметры, затем скопируйте сформированный URL.
Как это работает
Инструмент использует встроенный в браузер парсер URL (стандарт WHATWG URL), поэтому результат соответствует тому, как браузеры обрабатывают ссылки. URL нормализуется тем же способом: схема и имя хоста переводятся в нижний регистр, стандартные порты, например 443 для https, удаляются, а пути вроде /a/../b приводятся к нормальному виду.
В таблице показаны протокол (схема), имя пользователя и пароль, если URL содержит учётные данные, хост с портом, имя хоста без дополнительных частей, порт, путь, строка запроса, начинающаяся с ?, фрагмент, начинающийся с #, и источник (схема, хост и порт), который браузеры используют для проверки безопасности по принципу same-origin. Пароль скрыт, пока вы не нажмёте кнопку с изображением глаза.
Параметры запроса считываются с помощью URLSearchParams. Значения декодируются из процентной записи, а + считается пробелом, как при отправке данных HTML-форм. Параметры, которые встречаются несколько раз, например size=42&size=43, отображаются отдельными строками в исходном порядке, поскольку многие серверы считывают их как список.
При изменении параметров строка запроса также формируется с помощью URLSearchParams. Поэтому запись неизменённых частей может измениться: пробел будет записан как +, а символы вроде ' или ~ могут кодироваться иначе. Значение останется тем же для серверов, которые обрабатывают запросы в формате данных формы.
Имена хостов с символами не из ASCII (интернационализированные доменные имена) URL-парсер преобразует в punycode. Например, münchen.de становится xn--mnchen-3ya.de. Инструмент показывает обе формы.
Примеры
Проверка параметров отслеживания
Вставьте ссылку на кампанию, например https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=spring+sale, чтобы увидеть декодированные значения utm_ (например, “spring sale”), удалить ненужные и скопировать ссылку без лишних параметров.
Отладка URL перенаправления
В ссылке для входа есть параметр redirect=https%3A%2F%2Fapp.example.com%2Fdashboard%3Ftab%3D2. В таблице параметров показано декодированное значение https://app.example.com/dashboard?tab=2 — так вы точно увидите, куда будет перенаправлен пользователь.
Как определить источник для CORS
Для https://api.example.com:8443/v1/users?id=7 источником будет https://api.example.com:8443. Именно эта строка, без пути и завершающего слеша, должна совпадать со значением заголовка Access-Control-Allow-Origin.
Часто задаваемые вопросы
Чем хост отличается от имени хоста?
Имя хоста — это только домен или IP-адрес (example.com). Хост также включает порт, если в URL указан нестандартный порт (example.com:8443). В https://example.com:443/ и хост, и имя хоста — example.com, потому что 443 — стандартный порт для https и удаляется.
Почему появляется ошибка об отсутствующей схеме URL?
Без схемы, например https://, строка “example.com/page” не является абсолютным URL, а “example.com:8080” будет распознана как URL со схемой “example.com”. Инструмент предложит добавить https://.
Почему + отображается как пробел в значениях параметров?
Строки запроса обычно считываются как данные формы (application/x-www-form-urlencoded), где + означает пробел. Чтобы передать сам символ плюса, используйте %2B. Так работают URLSearchParams и большинство серверных фреймворков.
Что происходит с параметрами с одинаковым именем?
Все такие параметры сохраняются в исходном порядке, каждый в отдельной строке. При удалении строки удаляется только соответствующее вхождение.
Что такое punycode?
DNS поддерживает только имена хостов из ASCII, поэтому интернационализированные доменные имена кодируются в метки, начинающиеся с xn--. Например, bücher.example передаётся как xn--bcher-kva.example. Обычно браузеры отображают в адресной строке читаемый вариант.
Конфиденциальность
URL разбирается встроенным парсером URL вашего браузера. По этому URL не отправляются запросы, а вставленные данные не загружаются на сервер, не сохраняются и не используются в аналитике.