User-Agent: как узнать строку браузера и что сайты видят о вашем устройстве

Сайт работает неправильно, и поддержка просит прислать строку User-Agent. Или нужно понять, какие данные браузер сообщает о вашем устройстве. Или вы разработчик и проверяете, как сайт определяет клиента. User-Agent — инструмент, который показывает строку, которую браузер передаёт с каждым запросом, и другие сведения: браузер и версию, операционную систему, устройство, языки, часовой пояс, размер экрана и ещё несколько параметров.

В этой статье разберём, что такое User-Agent, почему версия системы может быть неточной, какие ещё данные сообщает браузер и зачем это знать.

Интерфейс онлайн-инструмента User-Agent
Интерфейс онлайн-инструмента User-Agent

Что показывает инструмент

User-Agent отображает сведения сразу при открытии страницы — без ввода данных и без запросов. Всё определяется в браузере: введённые данные никуда не отправляются, потому что вводить ничего и не нужно.

Поле Что показывает
Строка User-Agent Строка, которую браузер передаёт с каждым HTTP-запросом. Копируется одной кнопкой — удобно для поддержки или отчёта об ошибке
Браузер и версия Определяются по строке и дополнительным сигналам
Операционная система Например, Windows 10.0.0 или macOS
Устройство Компьютер, смартфон, планшет
Языки Предпочтения браузера, например ru, en
Часовой пояс Например, Europe/Moscow
Экран Разрешение и плотность пикселей
Окно браузера Фактический размер области просмотра
Тема оформления Светлая или тёмная
Сенсорный экран Есть или нет
Cookies включены Да или нет
Do Not Track Включён ли сигнал отказа от отслеживания
Ядер процессора Сколько ядер доступно браузеру

Что такое User-Agent

User-Agent — строка, которую браузер (или другое клиентское приложение) передаёт в заголовке каждого HTTP-запроса. В ней исторически указывается название и версия браузера, операционная система и движок рендеринга.

Пример обезличенной строки:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/XXX.0.0.0 Safari/537.36

Разберём по частям:

  • Mozilla/5.0 — исторический префикс. Почти все браузеры его сохраняют для совместимости со старыми сайтами.
  • (Windows NT 10.0; Win64; x64) — операционная система и архитектура.
  • AppleWebKit/537.36 — движок рендеринга.
  • (KHTML, like Gecko) — ещё одна историческая пометка для совместимости.
  • Chrome/XXX.0.0.0 — браузер на движке Chromium.
  • Safari/537.36 — тоже для совместимости: многие браузеры представляются как Safari.

Строка выглядит странно, потому что она накопила десятилетия совместимости. Но именно её сайты видят в каждом запросе.

Зачем сайтам User-Agent

  • Статистика. Сайты собирают данные о браузерах и устройствах посетителей, чтобы понимать аудиторию.
  • Совместимость. Некоторые сайты отдают разную разметку или функции в зависимости от браузера. Исторически это было нужно для обхода багов старых версий.
  • Блокировки и ограничения. Некоторые сервисы ограничивают доступ по User-Agent: например, блокируют автоматические клиенты или устаревшие браузеры.
  • Отладка. В отчётах об ошибках User-Agent помогает воспроизвести проблему: разработчик видит, в каком браузере и на какой системе она возникла.
  • Аналитика и реклама. По User-Agent можно примерно определить устройство и подстроить контент.

Почему версия системы может быть неточной

Современные браузеры сокращают User-Agent для защиты от слежки. Раньше по строке можно было точно определить версию системы и устройства — это использовали для фингерпринтинга (отпечатка браузера). Теперь строки унифицируют: например, вместо точной версии Windows может стоять обобщённое значение.

Чтобы сайты не теряли нужную информацию, ввели Client Hints — механизм, при котором браузер по запросу сообщает более точные сведения: версию платформы, модель устройства и другое. Если браузер поддерживает Client Hints, инструмент берёт точную версию оттуда.

Поэтому в результатах может быть и обобщённая версия из строки User-Agent, и уточнённая из Client Hints — инструмент показывает то, что доступно.

Другие сведения, которые сообщает браузер

Помимо User-Agent, браузер передаёт сайтам ещё несколько параметров. Часть из них — через заголовки запроса, часть — через JavaScript.

Параметр Как передаётся Зачем сайту
Языки Заголовок Accept-Language Выбрать язык интерфейса
Часовой пояс JavaScript Подстроить время, определить регион
Размер экрана и окна JavaScript Адаптивная вёрстка и аналитика
Тема оформления JavaScript / CSS Подстроить цвета под системную тему
Сенсорный экран JavaScript Выбрать элементы управления
Cookies включены JavaScript Понять, доступны ли функции, зависящие от cookies
Do Not Track Заголовок DNT Учесть сигнал отказа от отслеживания
Ядер процессора JavaScript Оптимизация нагрузки, отпечаток браузера

Зачем знать свой User-Agent

  • Обращение в поддержку. Многие формы поддержки просят User-Agent — он помогает воспроизвести проблему.
  • Отчёты об ошибках. В баг-трекере строка User-Agent ускоряет диагностику.
  • Разработка и тестирование. Проверить, как сайт определяет клиента, и не ошибается ли он.
  • Проверка приватности. Понять, какие сведения о вас сообщает браузер, и оценить, насколько это критично.
  • Отладка блокировок. Если сайт блокирует доступ, проверить, не связано ли это с User-Agent.

Ограничения инструмента

  • Только то, что сообщает браузер. Инструмент не «определяет» устройство по IP или другим признакам — он показывает только те сведения, которые браузер сам передаёт.
  • Результат зависит от браузера. В разных браузерах и на разных устройствах набор полей и их значения могут отличаться.
  • Не заменяет полноценный аудит приватности. Для глубокой проверки того, что о вас знает сайт, нужны специализированные инструменты и анализ сетевых запросов.

Как пользоваться: пошагово

  1. Откройте страницу — сведения появятся сразу.
  2. Нажмите «Скопировать User-Agent», чтобы отправить строку в поддержку или вставить в отчёт об ошибке.
  3. Изучите остальные поля, если нужно понять, какие данные сообщает браузер.

Типичные ошибки

  • Считать User-Agent точным описанием устройства. Браузеры сокращают строку для защиты от слежки. Точная версия может быть доступна только через Client Hints.
  • Думать, что User-Agent определяет всё. Это лишь одна из строк запроса. Языки, экран, часовой пояс и другие параметры передаются отдельно.
  • Использовать User-Agent для надёжной идентификации. Строку легко подделать, и она не уникальна. Для идентификации она не подходит.
  • Игнорировать Client Hints. Если браузер их поддерживает, точная версия платформы берётся оттуда — это стоит учитывать при диагностике.
  • Ждать одинаковых результатов в разных браузерах. Набор полей и значения зависят от браузера и устройства.

Вопросы и ответы

Что такое User-Agent? Строка, которую браузер передаёт с каждым запросом: в ней название и версия браузера и системы. Сайты используют её для статистики и совместимости.

Почему версия системы неточная? Современные браузеры сокращают User-Agent для защиты от слежки. Если браузер поддерживает Client Hints, точная версия берётся оттуда.

Отправляются ли эти данные? Нет, всё определяется в вашем браузере. Инструмент не отправляет введённые данные — их и нет.

Можно ли подделать User-Agent? Да, строку можно изменить в настройках браузера или через расширения. Поэтому она не подходит для надёжной идентификации.

Почему в разных браузерах разные поля? Разные браузеры сообщают разные наборы сведений. Инструмент показывает то, что доступно в вашем браузере.

Что такое Client Hints? Механизм, при котором браузер по запросу сообщает более точные сведения о платформе и устройстве — взамен сокращённого User-Agent.

Итог

User-Agent — инструмент, который показывает строку User-Agent вашего браузера и другие сведения, которые он сообщает сайтам: браузер и версию, операционную систему, устройство, языки, часовой пояс, размер экрана, тему, сенсорный экран, cookies, Do Not Track и число ядер. Всё определяется в браузере и никуда не отправляется. Понимая, что такое User-Agent, почему версия системы может быть неточной и какие ещё данные передаёт браузер, вы сможете быстрее решать проблемы с сайтами и лучше представлять, что о вас знают.

Предыдущая запись

Проверка SSL-сертификата: доверие, имена, срок действия и цепочка

Онлайн-проверка SSL/TLS-сертификата сайта или почтового сервера: доверен ли он, подходит ли имени, сколько дней осталось, кто выдал, какие имена указаны, версия протокола и шифр, цепочка сертификатов.
Далее