Боты и защита

Что такое User-Agent и почему ему нельзя верить

User-Agent — строка, которой браузер или программа представляется сайту. По ней видно, Chrome это или Safari, телефон или компьютер, человек или робот. Но написать в ней можно что угодно. Рассказываем, как её читать и что она на самом деле доказывает.

Обновлено 11 ноября 20263 мин чтенияКоманда nbots

Содержание
  1. Что такое User-Agent
  2. Как читать строку
  3. Client Hints: новая замена User-Agent
  4. Почему User-Agent нельзя верить
  5. Где посмотреть свой User-Agent
  6. Частые вопросы

Коротко

  • User-Agent — строка, которой браузер или программа представляется сайту.
  • Странные приставки вроде Mozilla/5.0 и Safari остались ради совместимости.
  • Chrome сократил строку, а подробности передаёт через Client Hints.
  • User-Agent пишет сам клиент, поэтому это подсказка, а не доказательство.

Что такое User-Agent

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

Пример строки Chrome на Windows:

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

Как читать строку

ЧастьЧто значит
Mozilla/5.0Историческая приставка. Её пишут почти все браузеры, чтобы старые сайты не отдавали им упрощённую версию
(Windows NT 10.0; Win64; x64)Система и разрядность. Windows 11 тоже пишет 10.0
AppleWebKit/537.36 (KHTML, like Gecko)Движок. Chrome давно работает на Blink, но пишет WebKit ради совместимости
Chrome/141.0.0.0Браузер и версия. Младшие цифры Chrome заменяет нулями
Safari/537.36Ещё одна приставка для совместимости

У Яндекс Браузера в конце добавляется YaBrowser/…, у Edge — Edg/…, у Opera — OPR/…. Роботы обычно пишут своё имя и ссылку на описание: YandexBot/3.0; +http://yandex.com/bots.

Разбор User-AgentВставьте строку из логов или проверьте свою — покажем браузер, систему, устройство и признаки бота.Открыть

Client Hints: новая замена User-Agent

Строка User-Agent слишком много рассказывала о пользователе, поэтому Chrome и браузеры на его основе сократили её: точная версия, модель телефона и версия системы теперь передаются отдельно, через заголовки Client Hints (Sec-CH-UA и другие), и только если сайт их запросил. Safari и Firefox Client Hints не поддерживают.

Почему User-Agent нельзя верить

  • Его пишет сам клиент. Любая программа может отправить строку настоящего Chrome или поискового робота.
  • Боты маскируются. Парсеры представляются браузерами, чтобы их не блокировали, а иногда — YandexBot или Googlebot, чтобы им открыли закрытое.
  • Люди тоже его меняют — расширениями или режимом «версия для ПК» на телефоне.

Поэтому User-Agent — подсказка, а не доказательство. Поисковых роботов проверяют по DNS, а людей и ботов — по противоречиям: заявлен iPhone, а сенсорного экрана нет; заявлен Chrome, а движок ведёт себя как Firefox; заявлена свежая версия, а нет новых возможностей браузера.

Как проверить поискового робота

Если в User-Agent написано YandexBot или Googlebot, проверьте адрес обратным и прямым DNS-запросом. Это делает проверка поискового робота.

Где посмотреть свой User-Agent

Ваш User-Agent показывает инструмент разбора User-Agent — там же можно разобрать любую строку из логов. А в «Мой IP» видно, как сайты видят ваш адрес и браузер целиком.

Частые вопросы

Почему все браузеры пишут Mozilla/5.0?

Исторически сайты отдавали полную версию только браузеру Netscape, который назывался Mozilla. Другие браузеры начали писать это слово, чтобы получать нормальные страницы, и приставка осталась у всех до сих пор.

Можно ли изменить свой User-Agent?

Да, через инструменты разработчика или расширение. Но сайты могут заметить подмену по другим признакам браузера, и это иногда приводит к лишним проверкам.

Как определить бота по User-Agent?

Честные роботы пишут своё имя: YandexBot, Googlebot, AhrefsBot. Скрипты часто выдают библиотеку: curl, python-requests. Но маскирующиеся боты пишут строку обычного браузера, и по User-Agent их не отличить.

Где посмотреть User-Agent в браузере?

Проще всего открыть инструмент разбора User-Agent — он покажет вашу строку. Также её видно в инструментах разработчика на вкладке «Сеть» в заголовках любого запроса.

Что такое Client Hints?

Заголовки Sec-CH-UA и другие, через которые Chrome и браузеры на его основе передают подробности о браузере и устройстве по запросу сайта. Они пришли на смену полной строке User-Agent.

Почему Windows 11 пишет Windows NT 10.0?

Microsoft не стала менять номер в строке ради совместимости. Отличить Windows 11 можно только через Client Hints.

Что значит пустой User-Agent?

Обычный браузер всегда его отправляет. Пустой User-Agent почти всегда означает скрипт или сканер.

Читайте также