Парсер строки User-Agent

Вставьте любую строку User-Agent браузера, чтобы разобрать её на браузер, движок рендеринга, операционную систему и тип устройства — прямо в браузере, без обращения к серверу. Используйте кнопку ниже, чтобы разобрать текущий User-Agent вашего собственного браузера, не набирая его вручную.

Строки User-Agent — это самозаявленные данные

Любой клиент может отправить любую строку User-Agent, какую захочет, — расширение браузера, инструмент командной строки вроде curl или скрипт могут свободно заявлять, что они любой браузер, ОС или устройство. Разбор ниже — это предположение о том, что означала бы данная строка для типичного, честно сообщающего о себе браузера; это НЕ доказательство идентичности, и его нельзя использовать как средство защиты — например, для ограничения доступа или надёжного определения ботов.

Парсер строки User-Agent

Строка User-Agent (UA) — это произвольный текст, который браузер отправляет с каждым HTTP-запросом (заголовок «User-Agent»), изначально предназначенный для согласования содержимого — чтобы сервер мог, в принципе, отдавать разное содержимое Netscape и текстовому браузеру. Десятилетия, за которые каждый следующий браузер добавлял свои токены совместимости, превратили формат в историческое курьёзное явление: строка User-Agent — это последовательность токенов «продукт/версия» и комментариев в скобках, а не аккуратный структурированный формат, и прочитать её на глаз действительно непросто — типичный User-Agent Chrome сначала заявляет, что он «Mozilla», в середине упоминает «AppleWebKit» и «KHTML, like Gecko», и только ближе к концу говорит «Chrome».

Это наслоение существует исключительно ради обратной совместимости: сайты, которые когда-то проверяли токен «Mozilla» (старый движок Netscape) или «Gecko», иначе неправильно определили бы более новые браузеры, поэтому каждый следующий движок браузера продолжал включать токены предшественников, а не заменял их. Поэтому парсер этого инструмента проверяет НАИБОЛЕЕ СПЕЦИФИЧНЫЙ токен первым — Edge раньше Chrome, Opera раньше Chrome, Chrome на iOS («CriOS») раньше обычного Safari — поскольку Edge, Opera, Samsung Internet и Brave законно содержат и токен «Chrome», и токен «Safari» именно по этой причине совместимости. Неправильный порядок проверки — самая распространённая ошибка в самописном парсере User-Agent.

В последнее время браузеры начали намеренно урезать или замораживать информацию в строке User-Agent из соображений приватности — например, инициатива Chrome «User-Agent Reduction» больше не раскрывает точную минорную версию ОС по умолчанию, заменяя её на общий заполнитель, и подталкивает новые интеграции к использованию opt-in API User-Agent Client Hints вместо свободной строки. Это значит, что даже полностью честный, немодифицированный браузер сегодня может сообщать намеренно более расплывчатый User-Agent, чем тот же браузер несколько лет назад — этот парсер показывает ровно то, что написано в строке, а не то, что могло бы раскрыть более подробное API, если бы сайт его запросил.

Самое важное, что нужно понимать о строке User-Agent, честной или урезанной, — это то, что она полностью самозаявлена: ничто не мешает расширению браузера, инструменту командной строки вроде curl, скрипту с HTTP-библиотекой или вручную отредактированному переопределению в devtools отправить абсолютно любую строку, правдивую или нет. Строка User-Agent по-настоящему полезна для аналитики, решений об адаптивном дизайне и выбора разумных значений по умолчанию — но она никогда не является доказательством того, кто или что делает запрос, и её нельзя использовать как средство защиты (блокировать или разрешать что-то на её основе, или полагаться на неё как на надёжное определение ботов). Для всего, связанного с безопасностью, подходят серверные сигналы, которые клиент не может свободно переопределить.

Глоссарий

Строка User-Agent
Произвольный текст, отправляемый с каждым HTTP-запросом и, в принципе, идентифицирующий браузер, его движок рендеринга, операционную систему и устройство.
Токен продукта
Сегмент вида «Имя/Версия» внутри строки User-Agent (например, «Chrome/120.0.0.0») — строка User-Agent представляет собой последовательность таких токенов и комментариев в скобках, а не структурированный формат.
Движок рендеринга
Программное обеспечение, которое компонует и отрисовывает страницу — Blink (Chrome и большинство браузеров на Chromium), Gecko (Firefox) или WebKit (Safari) — отличается от собственного бренда браузера.
User-Agent Client Hints
Более новый, opt-in API (отдельные HTTP-заголовки, которые сервер должен явно запросить), к которому некоторые браузеры подталкивают интеграции по мере урезания подробностей в классической строке User-Agent.
Спуфинг
Отправка строки User-Agent, не соответствующей реальному клиенту — это тривиально сделать через devtools, curl или расширение браузера, из-за чего строка User-Agent никогда не является сигналом безопасности.
Тип устройства
Грубая классификация этого инструмента (настольное устройство, мобильное, планшет или бот/краулер), выведенная из токенов вроде «Mobi», «iPad» или известных имён краулеров в строке User-Agent.

Аналог в API

У этого инструмента пока нет аналога в API нашего сервиса — у нас нет отдельного эндпоинта для разбора User-Agent, поэтому нашему API нечего было бы вернуть здесь. Разбор выше происходит полностью на вашем устройстве — ничего никуда не отправляется. Если вам нужен именно наш API для поиска информации об IP, он покрывает геолокацию, данные ASN/сети и сигналы угроз/фрода для IP-адреса:

Читать полную документацию по API

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

Что такое строка User-Agent?
Произвольный текст, который браузер отправляет с каждым HTTP-запросом, в принципе идентифицирующий браузер, его движок рендеринга, операционную систему и тип устройства.
Можно ли доверять браузеру/ОС, которые сообщает этот инструмент?
Только как предположению. Любой клиент может отправить любую строку User-Agent, какую захочет, — этот результат никогда не является доказательством идентичности и не должен использоваться как средство защиты.
Почему многие строки User-Agent содержат «Mozilla/5.0»?
Чисто историческая совместимость — десятилетия назад сайты проверяли этот токен, чтобы определить «современный» браузер, и с тех пор каждый браузер сохранял его, не рискуя быть ошибочно принятым за что-то более старое.
Отправляется ли моя строка User-Agent на сервер?
Нет — разбор происходит полностью в JavaScript вашего браузера. Эта страница не делает сетевых запросов для разбора строки, в том числе при использовании кнопки «Использовать мой User-Agent».
Почему парсер вернул «Unknown» для некоторых полей?
Строка не совпала ни с одним из известных шаблонов, которые проверяет этот инструмент — это может быть подделанный, редкий или действительно новый браузер/ОС, формат User-Agent которых этот парсер ещё не видел. Это честное «не знаю», а не сбой.
Стоит ли сайту использовать заголовок User-Agent для решений о безопасности?
Нет — его легко переопределить через devtools, curl или расширение браузера. Он подходит для аналитики или выбора адаптивного дизайна по умолчанию, но никогда — как единственный сигнал контроля доступа или определения ботов.

Понравился инструмент? Бесплатный аккаунт нашего API даёт 1000 запросов в день.Смотреть документацию API →