Что такое пользовательский агент?
A пользовательский агент — это строка, отправленная в User-Agent HTTP-заголовок, отправляемый с каждым запросом, который сообщает серверу информацию о браузере, приложении, операционной системе и версии клиента. MDN определяет его как «характерную строку, позволяющую серверам и сетевым узлам идентифицировать приложение, операционную систему, производителя и/или версию запрашивающего пользовательского агента» (MDN Web Docs (Mozilla), 2025). Серверы считывают это значение, чтобы определить, как оформить ответ, а системы обнаружения ботов используют его в качестве одного из первых фильтров.
Как работает заголовок User-Agent?
Каждый HTTP-клиент — будь то браузер, мобильное приложение или скрипт для сбора данных — присоединяет User-Agent заголовок в каждый исходящий запрос. Строка для настольной версии Chrome обычно содержит название браузера и его основную версию, операционную систему, а также токен платформы. Затем сервер может вернуть страницу, оптимизированную для мобильных устройств, полную версию для настольных компьютеров или заблокировать запрос, если эта строка соответствует известному шаблону роботов-пауков.
Этот формат в общих чертах стандартизирован, однако на практике его применение не является единообразным. Разработчики браузеров традиционно включали в строки UA маркеры совместимости с более ранними версиями браузеров, поэтому большинство современных строк UA по-прежнему содержат «Mozilla/5.0», независимо от того, какой браузер фактически используется.
Как сокращение списка User-Agent влияет на сигнал
Браузеры на базе Chromium сокращают объем информации, раскрываемой в строке «User-Agent». Функция «User-Agent Reduction» удаляет три идентифицирующих элемента: точную платформу и версию ОС, модель устройства, а также второстепенную версию браузера (MDN Web Docs — Редукция User-Agent, 2025 г.). Цель состоит в том, чтобы снизить ценность этой строки в качестве пассивного сигнала для идентификации.
Серверы, которым требуется подробная информация о клиенте, могут запрашивать её с помощью User-Agent Client Hints — набора Sec-CH-UA-* заголовки, которые браузер отправляет только в том случае, если сервер дает на это согласие. Это позволяет перейти от модели пассивной рассылки к модели активного, структурированного обмена данными.
Случаи использования
Согласование контента. Серверы используют параметр UA для определения, является ли клиент мобильным или настольным, и предоставляют соответствующий макет или изображение нужного размера без использования отдельного субдомена или цепочки перенаправлений.
Обнаружение и фильтрация ботов. Средства автоматизации, такие как curl, библиотека requests языка Python и браузеры без графического интерфейса, выдают характерные строки по умолчанию. Уровни обнаружения выделяют запросы, у которых строка «User-Agent» соответствует известным шаблонам, не относящимся к браузерам, отсутствует вовсе или не совпадает с другими признаками, такими как отпечатки TLS или порядок заголовков.
Извлечение данных из веб-сайтов и автоматизация. Скрейперы и инструменты для автоматизации работы браузеров часто устанавливают реалистичные строки UA, чтобы избежать блокировки на ранних этапах. Правильно подобранная строка UA должна соответствовать фактическому эмулируемому браузеру и быть последовательной Sec-CH-UA-* Заголовки помогают избежать несоответствия сигналов. Web Render API от Massive управляет этими заголовками на уровне инфраструктуры, возвращая «чистое» содержимое страницы, при этом клиентам не требуется вручную настраивать строки для каждого запроса.
Часто задаваемые вопросы
Типичная строка в Chrome для настольных компьютеров выглядит следующим образом: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36. В ней в одной строке указаны платформа, движок верстки и семейство браузеров.
Да. Любой HTTP-клиент может отправить любую строку в User-Agent заголовок. Браузеры предоставляют инструменты разработчика, позволяющие переопределять его для каждой вкладки, а библиотеки автоматизации устанавливают его программным способом. Одной только подделки UA редко бывает достаточно для обхода системы обнаружения, поскольку серверы сопоставляют его с другими признаками, такими как отпечатки TLS и порядок заголовков. См. подделка пользовательского агента для полного курса лечения.
Подсказки клиента «User-Agent» представляют собой набор Sec-CH-UA-* заголовки, которые предоставляют серверам возможность структурированным образом и по собственному желанию запрашивать конкретные данные о клиенте. Вместо того чтобы передавать всю информацию в одной строке, браузер отправляет только то, о чём сервер явно запрашивает, что снижает риск пассивного определения идентификационных признаков.
Во многих системах обнаружения отсутствие User-Agent заголовок как непосредственный признак использования автоматизированного клиента, поскольку легитимные браузеры всегда отправляют его. Отсутствие или пустой заголовок позволяет сузить круг источников трафика до скриптов или неправильно настроенных инструментов, что делает его недорогим и надежным фильтром раннего отбора.