Какой у меня user agent?
Ваш user agent — это текст, который браузер отправляет в заголовке User-Agent каждого HTTP-запроса; скрипты могут прочитать его через navigator.userAgent. Парсер автоматически подставляет строку вашего браузера при загрузке страницы, а в этом руководстве используется одна фиксированная строка Chrome на macOS, чтобы разбор был одинаковым для всех читателей.
Разобранный пример
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
- Браузер
- Chrome 120.0.0.0
- Движок
- Blink
- Операционная система
- macOS 10.15.7
- Класс устройства
- Настольный
- Устройство
- Неизвестно
- Архитектура CPU
- Неизвестно
- Бот / краулер
- Нет
Разбор токенов
| Токен | Интерпретация |
|---|---|
| Mozilla/5.0 | Исторический токен совместимости. С него начинается почти любой браузер; он не означает, что это Firefox. |
| (Macintosh; Intel Mac OS X 10_15_7) | Комментарий платформы. Chrome и Safari замораживают версию macOS на 10_15_7, поэтому более новые выпуски macOS и компьютеры Mac с Apple silicon отправляют то же значение. |
| AppleWebKit/537.36 | Токен движка. Движок Blink в Chrome появился как форк WebKit и по-прежнему сообщает это фиксированное значение. |
| (KHTML, like Gecko) | Комментарий совместимости: WebKit происходит от KHTML, а «like Gecko» добавили для сайтов, которые отдавали современные страницы только браузерам на Gecko. |
| Chrome/120.0.0.0 | Настоящий браузер и его версия. Значение имеет только основная версия (120); вместо минорной версии, сборки и патча Chrome отправляет 0.0.0. |
| Safari/537.36 | Ещё один токен совместимости: благодаря ему сайты, которые ищут Safari, считают Chrome браузером семейства WebKit. Он не означает, что это Safari. |
Парсер определяет Chrome 120 на macOS 10.15.7 с движком Blink. И версия macOS, и завершающие 0.0.0 — замороженные значения, поэтому реальная система может быть новее, чем указано в строке. Архитектура CPU остаётся неизвестной: парсер не считает Intel указанием на процессор, а компьютеры Mac с Apple silicon отправляют тот же текст.
Основные правила
- Строка user agent — это список токенов вида продукт/версия, разделённых пробелами, с подробностями о платформе в скобках.
- Большинство токенов нужны для совместимости: браузеры копируют токены друг друга, чтобы старый код определения продолжал работать, поэтому парсер должен смотреть, какие токены встречаются и в каком порядке, а не на отдельные слова.
- Парсер подставляет user agent вашего браузера при загрузке страницы. Сам разбор выполняется в вашем браузере, а не на сервере.
- Расширения браузера, настройки конфиденциальности, эмуляция устройств в инструментах разработчика и встроенные браузеры приложений могут изменять user agent, поэтому он может не соответствовать реальному устройству.
- Чтобы сравнить браузеры, вставьте строку с другого устройства или выберите пример пресета в инструменте.