Что ваш user agent рассказывает о вас (и почему он врёт)
Как читать строку user-agent, почему каждый браузер называет себя Mozilla и когда подмена UA действительно полезна — практичный разбор.
Каждый сайт, который вы открываете, получает от браузера короткое представление ещё до загрузки контента. Выглядит оно примерно так:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36
Это строка user-agent, и если читать её буквально, она утверждает, что перед вами одновременно Mozilla, WebKit, Chrome и Safari. Инструмент Какой у меня User Agent показывает вашу строку и переводит её на человеческий язык: браузер, версия, движок, операционная система, тип устройства.
Почему каждый браузер притворяется Mozilla
В середине 90-х вебмастера отдавали фреймы и другие продвинутые функции только Netscape Navigator, чей UA начинался с «Mozilla». Internet Explorer тоже хотел эти функции, и Microsoft просто вписала «Mozilla» в свою строку. С тех пор так делают все — убрать это слово значило сломать сайты, которые проверяют его наличие.
Chrome пошёл дальше. В 2008 году он вышел, называя себя Safari (оба тогда работали на WebKit), и не убрал это после перехода на собственный движок Blink в 2013-м. Так что строка выше расшифровывается просто: настоящий Chrome 126 на Windows с тремя чужими бейджами. Значимый токен один — Chrome/126.
Что из неё можно узнать на практике
Несмотря на весь этот маскарад, строка отвечает на вполне конкретные вопросы:
- какая точная версия браузера у пользователя — первое, что спрашивает поддержка, когда страница «не работает»;
- человек зашёл на ваш сайт или Googlebot — видно в логах сервера;
- почему сайт отдаёт вам мобильную вёрстку — обычно триггером служит слово Mobile в строке;
- что за незнакомое устройство появилось в роутере или в аналитике.
Мне чаще всего это нужно для баг-репортов. «У мамы на компьютере всё сломалось» превращается в решаемую задачу, как только она присылает свой UA — и выясняется, что это Firefox 78 из 2020 года.
Где строка врёт сознательно
Два момента, о которых стоит знать, прежде чем доверять расшифровке.
Windows 11 в user-agent не существует. Microsoft так и не обновила токен, поэтому и Windows 10, и Windows 11 сообщают Windows NT 10.0. Любой парсер, включая наш, скажет только «10 или 11».
macOS тоже заморожена. Safari и Chrome с 2020 года отправляют Mac OS X 10_15_7, каким бы новым ни был компьютер. Chrome вдобавок обнуляет младшие цифры версии — те самые 126.0.0.0 появились не случайно. Браузеры сделали это против фингерпринтинга: чем точнее строка, тем проще выделить вас среди остальных посетителей. Точные данные переехали в Client Hints, которые сайт теперь должен запрашивать явно.
Подмена UA — это функция, а не взлом
Возможность сменить user agent встроена в каждый крупный браузер. В Chrome DevTools откройте Network conditions, снимите галочку «Use browser default» и выберите iPhone — сайт, который вы отлаживаете, отдаст вашему десктопу мобильную версию. В Firefox то же самое делается через about:config, а расширения умеют менять строку для отдельных сайтов.
Так разработчики проверяют мобильную вёрстку, не доставая телефон. А ещё так иногда обходят баннер «этот сайт лучше работает в Chrome» в другом браузере: проверить, правду ли вы говорите, сайт не может.
Ничего не уходит с вашего устройства
Инструмент читает navigator.userAgent через JavaScript и разбирает строку локально. Ни запросов, ни логов, ни сохранённых копий — можно загрузить страницу, отключить интернет и продолжать вставлять строки из логов сервера для расшифровки.
Откройте Какой у меня User Agent, посмотрите, что браузер сообщает каждому сайту, и скопируйте строку одним кликом, когда её в следующий раз попросит форма поддержки.