Перейти к основному содержимому

Разбор строки user agent

Парсер user agent читает токены заголовка User-Agent и превращает их в структурированные поля. Ниже три фиксированные строки — настольный браузер, телефон и поисковый краулер — проходят через тот же парсер, что и интерактивный инструмент, а затем описаны правила, которые он применяет.

Разобранный пример

Chrome на Windows
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
Бот / краулер
Нет
Safari на iPhone
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
Неизвестно
Бот / краулер
Нет
Googlebot (краулер для смартфонов)
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-запросом.

Другие руководства по user agent