Разбор URL онлайн — разложить ссылку на части
Разбор URL на компоненты с декодированием, IDN-доменами и редактированием параметров запроса
Работает в браузере · файлы никуда не загружаются
Что это за инструмент
Длинный URL трудно читать глазами: где заканчивается хост и начинается строка запроса? Инструмент раскладывает адрес на протокол, учетные данные, хост, порт, путь, строку запроса и якорь и декодирует процентное кодирование, чтобы значения можно было прочитать. Параметры запроса можно редактировать прямо в таблице.
Как пользоваться
- Вставьте в поле URL полный адрес, начинающийся с
https://. - В таблице «Компоненты URL» смотрите исходное и декодированное значение каждой части и копируйте нужное.
- В таблице «Параметры запроса» редактируйте ключи и значения или пользуйтесь кнопками удаления и добавления.
- Изменения сразу попадают обратно в URL в поле ввода, так что результат можно скопировать как есть.
Как это работает
- Разбор выполняет объект браузера
URL, реализующий стандарт WHATWG URL. Это не самописный парсер, поэтому результат совпадает с поведением браузера. - Компоненты:
protocol,username,password,hostname,port,origin,pathname,searchиhash. Порт по умолчанию показывается пустым. - Процентное кодирование (
%D0%AF) декодируется как UTF-8; некорректные последовательности остаются как были. - Интернационализированные хосты преобразуются между формой
xn--и формой в Юникоде по правилам punycode из RFC 3492. - Параметры запроса читаются и записываются через
URLSearchParams. Повторяющиеся ключи сохраняют порядок, а ключ без значения (?flag) показывается с пустым значением. - Для ввода без схемы, с пустым хостом или лишними пробелами выводится сообщение об ошибке, и больше ничего не происходит. Инструмент никогда не подключается к адресу.
Примеры
| Ввод | Результат |
|---|---|
https://münchen.de/straße |
хост xn--mnchen-3ya.de, Юникод münchen.de |
https://пример.рф/путь?имя=Иван Петров#якорь |
хост xn--e1afmkfd.xn--p1ai, путь /%D0%BF%D1%83%D1%82%D1%8C, декодированный /путь, параметр имя=Иван Петров |
https://example.com:443/a |
порт пустой (порт по умолчанию) |
https://e.com/?q=%F0%9F%98%80 |
q = 😀 |
Полезно знать
- Если в адресе есть имя пользователя или пароль, выводится предупреждение. Не показывайте такие URL на общем экране.
- Другие схемы, например
mailto:иftp:, тоже раскладываются на компоненты.
Частые вопросы
По каким правилам разбирается URL?
По стандарту WHATWG URL в реализации встроенного в браузер API `URL`. Разбор идет точно так же, как в адресной строке или по ссылке, поэтому имена хостов приводятся к нижнему регистру, порты по умолчанию (443 для https, 80 для http) отбрасываются, а `..` в пути разрешается автоматически.
Как отображаются интернационализированные домены, например .рф?
Хост в Юникоде по стандарту преобразуется в punycode (ASCII-форму, начинающуюся с `xn--`) и показывается в строке «Хост (ASCII)», а читаемый оригинал — в строке «Хост (Юникод)». Если вставить адрес, уже записанный в punycode, он будет декодирован обратно в Юникод.
Почему example.com/path не принимается?
Стандарт URL требует схему вроде `https://`, чтобы считать строку полным URL. Без нее протокол неизвестен, поэтому выводится ошибка с просьбой добавить схему.
Меняет ли редактирование параметра исходный URL?
Изменение ключа или значения, добавление или удаление параметра перезаписывает URL в поле ввода выше. Путь и якорь сохраняются, а строка запроса заново кодируется по правилам URLSearchParams (пробелы становятся +, символы вне ASCII — %XX).