Что такое User-Agent?


Каждый раз, когда браузер делает запрос к сайту, он посылает HTTP заголовок, называемый "User-Agent". Это сравнительно небольшой кусочек текста, который описывает приложение/браузер (т.е. Агента), который совершает запрос.

Он содержит информацию о названии и версии браузера, языке, версии ОС, программном обеспечении, установленном на используемом устройстве, типе устройства, с которого пользователь зашел на сайт.

Увидеть можно в DevTools:

Веб-сервер использует эту информацию для того, чтобы предоставить нам оптимизированную версию веб-страницы для вашего устройства и браузера.

Например, когда мы заходим с мобильного браузера, то через UserAgent отправляется соответствующая информация и мы получаем сайт адаптированный под мобильные устройства.

Также информацию о User-Agent содержат поисковые роботы, которые используются для индексации информации на сайте. Посредством информации, прописанной в User-Agent, от всех либо от определенных поисковых роботов можно скрыть данные, содержащиеся на ресурсе: конкретную страницу или сайт целиком, определенный вид файлов, личные данные пользователей и прочее. Например, с помощью User-Agent, вы открыть (или, наоборот, скрыть) для индексации только картинки.

Как понять, какую информацию содержит User-Agent?


Каждый браузер посылает информацию о User-Agent в разном формате, поэтому его может быть сложно декодировать.

Полезный сайт, который парсит User-Agent

Примеры User-Agent

Desktop браузеры:

  • Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36
  • Internet Explorer 11 (Win 10 x64): Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko
  • Opera 12.17 (Win 8 x64): Opera/9.80 (Windows NT 6.2; WOW64) Presto/2.12.388 Version/12.17

Мобильные браузеры:

  • iPhone: Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25
  • Android 2.3.5 (Philips W632): Mozilla/5.0 (Linux; U; Android 2.3.5; ru-ru; Philips W632 Build/GRJ90) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

Поисковые системы:

  • Яндекс: Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)
  • Google: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Роботы, боты, анализаторы:

  • Ahrefs: Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)

Как изменить user agent на примере Chrome?


1. Открыть DevTools, кликнуть по трем вертикальным точкам справа наверху (Customize and control DevTools) –> More tools -> Network conditions

2. Деактировать чек-бокс Use browser default во вкладке User agent:

3. Стал активным раскрывающийся список известных user-agents. Выбирайте тот, который вам нужен.

4. Теперь в отправляемом заголовке отражен выбранный user agent:

Использование user agent при тестировании веб-приложения позволяет улучшить покрытие тестами тестируемый продукт. User agent позволяет заменить всевозможные вариации браузеров, устройств и разрешении экрана. Тестировщик способен более гибко подходить к тестированию ПО, полностью соблюдать ТЗ при своей работе и выдавать более качественный фидбэк о продукте.