Разбор строки user agent
Парсер user agent читает токены заголовка User-Agent и превращает их в структурированные поля. Ниже три фиксированные строки — настольный браузер, телефон и поисковый краулер — проходят через тот же парсер, что и интерактивный инструмент, а затем описаны правила, которые он применяет.
Разобранный пример
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
- Браузер
- Chrome 120.0.0.0
- Движок
- Blink
- Операционная система
- Windows 10/11
- Класс устройства
- Настольный
- Устройство
- Неизвестно
- Архитектура CPU
- x64
- Бот / краулер
- Нет
Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1
- Браузер
- Safari 17.0
- Движок
- WebKit
- Операционная система
- iOS 17.0
- Класс устройства
- Мобильный
- Устройство
- Apple iPhone
- Архитектура CPU
- Неизвестно
- Бот / краулер
- Нет
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.216 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
- Браузер
- Chrome 120.0.6099.216
- Движок
- Blink
- Операционная система
- Android 6.0.1
- Класс устройства
- Бот
- Устройство
- Nexus 5X Build/MMB29P
- Архитектура CPU
- Неизвестно
- Бот / краулер
- Googlebot
Chrome на Windows отправляет Windows NT 10.0 — это значение общее для Windows 10 и Windows 11, поэтому ОС отображается как 10/11. На iPhone Version/17.0 даёт версию Safari, а iPhone OS 17_0 — версию iOS. Строка Googlebot содержит полный user agent Chrome на Android, но сигнатуры краулеров проверяются первыми, поэтому класс устройства — bot; поля браузера и ОС всё равно показывают, за кого себя выдаёт краулер.
Основные правила
- Сигнатуры краулеров проверяются первыми: Googlebot, Bingbot, DuckDuckBot, YandexBot, Baiduspider, Slackbot, Twitterbot и facebookexternalhit. При совпадении класс устройства становится bot, даже если в строке есть токены браузера.
- Браузеры сопоставляются в фиксированном порядке — Edge (Edg/), Opera (OPR/), Samsung Internet, Firefox, Chrome, Safari, затем Chromium, — потому что большинство строк содержат и токены других браузеров. Движок определяется браузером: Blink, Gecko или WebKit.
- Операционная система берётся из секции платформы в скобках: iPhone, iPad, Android, Windows NT, CrOS, Mac OS X или Linux. Подчёркивания в номерах версий Apple заменяются точками.
- Класс устройства — планшет для iPad, токена Tablet или Android без токена Mobile; мобильный для iPhone или Android с токеном Mobile; и настольный для Windows, macOS, Linux и ChromeOS.
- Всё, о чём строка не сообщает, остаётся неизвестным (null в выводе JSON), а не угадывается. Уверенность высокая, только если совпали и браузер, и операционная система.
- Любой клиент может отправить user agent Googlebot. Чтобы убедиться, что это настоящий краулер Google, выполните обратный DNS-запрос для IP-адреса запроса, проверьте, что имя оканчивается на googlebot.com или google.com, а затем подтвердите результат прямым DNS-запросом.