Разбор URL
Разберите любой URL на схему, учётные данные, хост, порт, сегменты пути, параметры запроса и фрагмент с декодированными значениями и JSON. В браузере.
| Схема (протокол) | https: |
|---|---|
| Имя пользователя | user |
| Пароль | pass |
| Имя хоста | shop.example.com |
| Порт | 8080 |
| Путь | /products/shoes |
| Сегменты пути (декодированные) | 1. products 2. shoes |
| Строка запроса | ?color=red&size=42 |
| Фрагмент | #reviews |
| Источник (origin) | https://shop.example.com:8080 |
| Нормализованный URL | https://user:pass@shop.example.com:8080/products/shoes?color=red&size=42#reviews |
| Ключ | Декодированное значение |
|---|---|
| color | red |
| size | 42 |
{
"protocol": "https:",
"username": "user",
"password": "pass",
"hostname": "shop.example.com",
"port": "8080",
"pathname": "/products/shoes",
"search": "?color=red&size=42",
"hash": "#reviews",
"origin": "https://shop.example.com:8080",
"params": {
"color": "red",
"size": "42"
}
}Что такое Разбор URL?
Парсер раскладывает URL на компоненты: схему, имя пользователя, пароль, имя хоста, порт, путь, сегменты пути, строку запроса, отдельные параметры запроса и фрагмент, а также показывает источник (origin) и нормализованный URL. Значения с процентным кодированием декодируются, интернационализированные имена хостов показываются в punycode и Unicode, а повторяющиеся параметры сохраняются.
Как пользоваться Разбор URL
- Вставьте абсолютный URL, например
https://user:pw@example.com:8080/a/b%20c?x=1&y=two#h. - Прочитайте таблицу компонентов; в строке порта показывается порт по умолчанию, если порт не задан.
- Посмотрите таблицу параметров запроса: каждый декодированный ключ и значение.
- Скопируйте блок JSON, чтобы использовать результат разбора в коде или тестах.
Пример
https://user:pw@example.com:8080/a/b%20c?x=1&y=two#h
host example.com · port 8080 · path segments: 1. a, 2. b c · query ?x=1&y=two (x = 1, y = two) · fragment #h
Когда использовать Разбор URL
Используйте для отладки ссылок отслеживания, URL перенаправления OAuth, подписанных URL или вызовов API со множеством параметров. Разбираются только абсолютные URL; для относительных путей сначала добавьте базу, например https://example.com. Инструмент не заходит по URL.
Как работает Разбор URL
URL разбирается встроенным классом URL браузера по стандарту WHATWG, тем же парсером, что браузеры используют для навигации, поэтому результат соответствует реальному поведению браузера (хост в нижнем регистре, разрешённые сегменты с точками, punycode для IDN). Параметры запроса берутся из URLSearchParams, который декодирует + как пробел, а процентные последовательности как UTF-8. Сегменты пути декодируются через decodeURIComponent и остаются как есть при некорректной последовательности.
Распространенные Случаи Использования
- Прочитать параметры UTM и идентификаторы кликов из маркетинговой ссылки.
- Изучить redirect_uri и state в URL авторизации OAuth.
- Декодировать сегмент пути с процентным кодированием, чтобы увидеть исходное имя файла.
- Найти форму punycode для интернационализированного домена.
Часто Задаваемые Вопросы
Почему мой URL признан недопустимым?
Парсеру нужен абсолютный URL со схемой. example.com/page это относительная ссылка; напишите https://example.com/page.
Почему + превратился в пробел?
В строке запроса URLSearchParams следует кодированию HTML-форм, где + означает пробел. Для буквального плюса используйте %2B.
Отправляется ли URL куда-либо?
Нет, разбор полностью выполняется в вашем браузере.