Что такое User-Agent и почему ему нельзя верить
User-Agent — строка, которой браузер или программа представляется сайту. По ней видно, Chrome это или Safari, телефон или компьютер, человек или робот. Но написать в ней можно что угодно. Рассказываем, как её читать и что она на самом деле доказывает.
Содержание
Коротко
- 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.
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 почти всегда означает скрипт или сканер.