Парсер URL

Разбор и декодирование URL на компоненты — схема, хост, порт, путь, параметры запроса и фрагмент. Вся обработка выполняется в вашем браузере.

Мгновенный разбор Все компоненты Обработка на стороне клиента

Как использовать парсер URL

Разбор любого URL за три простых шага

1

Вставьте URL

Введите любой URL в поле ввода — лучше всего подходят полные URL со строками запроса.

2

Мгновенный разбор

URL разбирается в реальном времени на все компоненты.

3

Просмотр параметров

Просматривайте декодированные параметры запроса в таблице и копируйте отдельные компоненты.

Что такое URL?

URL (Uniform Resource Locator) — это веб-адрес, указывающий расположение ресурса в компьютерной сети и механизм его получения. URL состоит из нескольких компонентов, включая протокол, доменное имя, порт, путь, параметры запроса и фрагмент.

Структура URL

URL состоит из нескольких частей:

Протокол

Протокол связи (http, https, ftp и т. д.)

Имя хоста

Доменное имя или IP-адрес сервера

Порт

Номер сетевого порта (по умолчанию: 80 для HTTP, 443 для HTTPS)

Путь

Путь к конкретному ресурсу на сервере

Строка запроса

Параметры «ключ-значение» для динамического содержимого

Фрагмент

Якорь, указывающий на определённую часть страницы

Часто задаваемые вопросы

Какие компоненты URL определяет парсер?

Парсер извлекает схему (протокол), имя хоста, порт, путь, параметры строки запроса (в виде таблицы), фрагмент (хеш), имя пользователя, пароль, источник и строку поиска.

Декодирует ли он URL-кодированные символы?

Да. Все URL-кодированные символы (например, %20, %3A) автоматически декодируются в выводе для удобства чтения.

Можно ли разбирать относительные URL?

Инструмент лучше всего работает с абсолютными URL (начинающимися с http:// или https://). Для относительных URL требуется базовый URL, который браузер подставляет автоматически.

В чём разница между URI, URL и URN?

URI — это общий термин, определённый в RFC 3986: идентификатор, состоящий из схемы, пути, запроса и фрагмента. URL — это URI, который указывает местоположение ресурса (https://ezparser.com/url-parser), тогда как URN лишь именует ресурс без указания местоположения (urn:isbn:0451450523). В повседневной веб-разработке под URI почти всегда подразумевается URL.

Как работает процентное кодирование (percent-encoding)?

Каждый байт, не являющийся незарезервированным символом (A-Z, a-z, 0-9, - . _ ~), записывается как % с двумя шестнадцатеричными цифрами: пробел превращается в %20, а символ é в UTF-8 — в %C3%A9. Зарезервированные символы вроде / ? # & = несут смысловую нагрузку в структуре URL, поэтому при использовании в качестве данных они должны кодироваться. В строках запроса старые кодировщики форм дополнительно заменяют пробел на + — этот инструмент декодирует оба варианта.

Как называются части URL?

URL https://user:[email protected]:8443/v2/users?page=2#results разбивается на схему (https), userinfo (user:pass@), хост (api.example.com), порт (8443), путь (/v2/users), запрос (page=2) и фрагмент (#results). Грамматику определяет раздел 3 RFC 3986; этот парсер подписывает каждый компонент за вас.

Разрешаются ли //, /./ и /../ внутри путей во что-то реальное?

Да — раздел 6 RFC 3986 определяет нормализацию: /a/./b превращается в /a/b, /a/../b — в /b, а пустой сегмент // схлопывается в /. Браузеры и HTTP-клиенты применяют это перед отправкой запроса, поэтому URL, различающиеся только точечными сегментами, обычно ведут к одному и тому же ресурсу. Нормализация на уровне схемы также приводит хост к нижнему регистру и отбрасывает порт :443 по умолчанию.

Есть ли максимальная длина URL?

RFC 3986 не устанавливает ограничений. На практике Chrome принимает около 2 МБ, но большинство серверов ограничивают строку запроса примерно 8 КБ (значение LimitRequestLine в Apache по умолчанию — 8190 байт), а API вроде Twitter/X документируют лимит в 2048 символов. Укладываться в 2000 символов — общепринятая безопасная зона для обмена ссылками и SEO.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}