Сеть/HTTP

User-Agent Parser

Разобрать строку User-Agent на браузер, движок, операционную систему и тип устройства.


                    

The User-Agent string a browser sends with every request looks like a chaotic mix of names and versions, largely because of browsers' historical habit of impersonating each other (nearly every modern browser's string still contains "Mozilla/5.0"). This tool breaks it down into browser, engine, OS, and device type.

How to use it

Common uses

Things to keep in mind

A User-Agent is entirely controlled by the client and easy to spoof — don't rely on it for security decisions.

Under the User-Agent Reduction effort, modern browsers increasingly freeze or simplify OS and device details for privacy — detection accuracy is gradually declining.

Статья об этом инструменте: User-Agent: почему эта строка такая запутанная

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

Почему так много строк User-Agent упоминают "Mozilla" даже в Chrome или Safari?

Это исторический артефакт — браузеры продолжали добавлять "Mozilla/5.0" в свои строки User-Agent для совместимости со старыми серверными проверками, написанными для раннего Netscape Navigator, и эта традиция так и не исчезла.

Насколько надёжен разбор User-Agent для определения реального браузера и ОС?

Достаточно надёжен для типичных случаев, но строки User-Agent можно подделать, а некоторые браузеры теперь замораживают или упрощают части строки ради конфиденциальности, поэтому точность определения не гарантирована.

Отправляется ли строка User-Agent, которую я вставляю сюда, куда-либо?

Нет. Разбор происходит полностью в вашем браузере — ничего не загружается на сервер.

Что такое User-Agent Client Hints?

Современная альтернатива единой строке User-Agent — набор отдельных заголовков (Sec-CH-UA, Sec-CH-UA-Platform и т. д.), которые сервер должен явно запросить и получает в структурированном виде, вместо парсинга одной нагромождённой строки.

Почему некоторые браузеры скрывают точную версию ОС или устройства в User-Agent?

Это часть инициативы "User-Agent Reduction" ради приватности — подробные сведения о версии ОС или модели устройства могут использоваться для уникальной идентификации (фингерпринтинга) пользователя, поэтому браузеры постепенно упрощают или "замораживают" эти части строки.

Статьи: Сеть/HTTP

Разбор URL: из каких частей состоит веб-адрес

Почему в URL есть часть после символа #, которую сервер даже не получает.

Query String против JSON: почему GET-параметры такие ограниченные

Почему передать массив или вложенный объект через query string URL не так просто, как через JSON.

Basic Authentication: как простейший способ аутентификации работает в HTTP

Почему Basic Auth обязательно требует HTTPS, ведь Base64 — это не шифрование, а лишь кодирование.

HTTP-заголовки: что скрыто в каждом запросе и ответе

Почему заголовок Content-Type определяет, как браузер интерпретирует тело ответа сервера.

Cookies: как небольшой кусок текста хранит состояние сессии

Почему атрибут HttpOnly защищает cookie от кражи через вредоносный JavaScript-код.

CORS: почему браузер блокирует "обычные" запросы к другому домену

Почему ошибка CORS возникает в браузере, а не на стороне сервера, и кто на самом деле блокирует запрос.

Заголовки email: как проследить путь письма от отправителя до вас

Почему заголовки Received нужно читать снизу вверх, чтобы проследить путь письма.