User-Agent Парсер
Разбирайте любую строку User-Agent для определения браузера, ОС, типа устройства и движка рендеринга. Бесплатно, мгновенно и полностью на стороне клиента.
Разбирайте любую строку User-Agent для определения браузера, ОС, типа устройства и движка рендеринга. Бесплатно, мгновенно и полностью на стороне клиента.
Строка User-Agent представляет собой HTTP-заголовок, который браузеры и другие клиенты отправляют на серверы для идентификации себя. Первоначально это был краткий идентификатор, но современные пользовательские агенты представляют собой обширные конкатенации строк исторических версий, предназначенные для обратной совместимости с сайтами, которые отслеживают определенные браузеры. Типичный пользовательский агент Chrome сегодня ссылается на Mozilla, AppleWebKit, KHTML, Gecko, Chrome и Safari, большинство из которых являются рудиментарными.
Анализ пользовательского агента извлекает из этой плотной строки фактический браузер, версию, ОС и тип устройства. Данные используются для аналитики, обнаружения функций и идентификации ботов. Он также несовершенен — пользовательские агенты могут быть подделаны, искажать реальный движок браузера или отставать от реальности (Chrome на iOS сообщает как Safari, потому что все браузеры iOS должны использовать WebKit).
Этот синтаксический анализатор использует сопоставление с образцом для идентификации распространенных браузеров, операционных систем и категорий устройств из строки пользовательского агента. Выходные данные включают имя и версию браузера, операционную систему и версию, тип устройства (настольный компьютер, мобильный телефон, планшет, бот) и механизм рендеринга. Анализ происходит в вашем браузере; никакие данные никуда не отправляются.
Рабочие процессы аналитики, отладки и безопасности извлекают выгоду из извлечения структурированных данных из необработанных строк пользовательского агента. Журналы сервера, содержащие миллионы пользовательских агентов, становятся доступными, когда каждый из них анализируется в полях браузера/ОС/устройства. Отчеты об ошибках со списком пользовательских агентов легче обрабатывать, если вы можете быстро увидеть, какой браузер и версия задействованы.
Обнаружение ботов также основано на анализе пользовательского агента в качестве первого сигнала. Многие краулеры честно идентифицируют себя (Googlebot, Bingbot, GPTBot); другие подделывают Chrome, но включают тонкие намеки. Анализ помогает выявить эти закономерности.
Вставьте пользовательский агент, посмотрите структурированные данные.
Анализ User-Agent по сути представляет собой сопоставление шаблонов с большой библиотекой правил регулярных выражений. Обнаружение браузера использует подстроки (Chrome, Firefox, Safari, Edge), обнаружение ОС ищет токены платформы (Windows NT 10.0, Mac OS X, Linux, Android, iPhone OS), а обнаружение устройств сочетает ОС с подсказками по форм-фактору.
Порядок имеет значение при синтаксическом анализе. Пользовательские агенты Edge включают токены Chrome и Safari, поэтому проверка Edge должна выполняться до Chrome. Brave, Vivaldi и Opera являются ответвлением Chromium и имеют схожие проблемы. Зрелые библиотеки синтаксического анализа (ua-parser-js, ua-parser) поддерживают списки правил, упорядоченные для правильного устранения неоднозначности.
Подсказки клиента User-Agent (UA-CH) являются современной заменой: структурированные заголовки Sec-CH-UA заменяют устаревший User-Agent. Браузеры постепенно замораживают устаревшую строку и переходят на UA-CH. Новый синтаксический анализ должен поддерживать оба варианта.