Разбор User Agent
Вставьте любую строку user-agent — из лога, баг-репорта, строки аналитики — и прочтите, что она говорит на самом деле: браузер и версия, движок, операционная система, класс устройства. Или взгляните на строку своего браузера одним нажатием. Разбор — упорядоченными правилами во вкладке, не сервисом фингерпринтинга.
Археология одной строки
Строка user-agent — осадочная порода: каждая эпоха браузерных войн оставила слой, и ни один нельзя было убрать, не сломав какой-нибудь проверяющий сервер. Результат читается как бессмыслица — виндовый Chrome, называющий себя разом Mozilla, KHTML, Gecko и Safari — пока не знаешь, какой токен когда отложился; тогда он читается как история.
Здешний парсер применяет эту историю как правила: производные раньше стволов, Version/ для Safari, платформа из скобок. Те же правила работают на целом логе строк — для того и поле вставки.
Частые вопросы
Почему каждый user agent начинается с Mozilla/5.0?
Тридцать лет театра совместимости. Серверы когда-то открывали функции по слову «Mozilla», поэтому каждый новый браузер объявлял себя им, а затем и следующим лидером — потому в строке Chrome есть и Safari, и AppleWebKit. Префикс не несёт никакой информации; правда прячется в поздних токенах.
Почему Edge надо распознавать раньше Chrome?
Потому что строка Edge содержит всё, что есть у Chrome, плюс «Edg/». Проверьте Chrome первым — и каждая производная Chromium (Edge, Opera, Samsung Internet, Яндекс) прочтётся как Chrome. Упорядоченные правила — всё ремесло разбора UA, и порядок этой страницы виден в её результатах.
Может ли user agent врать?
Свободно — это самодекларация, в одном выпадающем списке devtools от чего угодно. Хуже: современные браузеры нарочно замораживают его части — macOS прибит к 10.15 в строках WebKit, Windows 11 всё ещё говорит NT 10.0. Читайте как заявление — полезное в логах и поддержке, но никогда как доказательство.
Что заменило user agent для решений о функциях?
Feature detection: спрашивать браузер о существовании API, а не о том, кто он. Строки UA остаются правильным инструментом для статистики, отладки жалобы пользователя и обращения с краулерами — работ, где семья и версия действительно важны.
Похожие инструменты
- Калькулятор подсетей IPИз CIDR — всё: сеть, broadcast, диапазон хостов, их число, маска и wildcard в точках и в двоичном виде; плюс самый узкий префикс под число хостов.
- Какой у меня IPВаш публичный IP, сетевое расположение и детали подключения — один запрос к трассировке Cloudflare, показано просто, нигде не логируется.
- DNS-запросA, AAAA, MX, TXT, CNAME, NS и другие записи любого домена — через шифрованный DNS (DoH), с TTL в том виде, как их читает оператор.