Агент пользователя. Что это такое?

Часто незнакомые термины могут ввести в заблуждение обычных посетителей Интернета. Например, что подразумевает термин «агент пользователя» (user agent)? Может быть, эти слова обозначают человека, который представляет права пользователя в Интернете или отслеживает его поведение во время посещения веб-сайтов? Однако это не так. User agent – это программный элемент, который действует в сети от имени пользователя.
BLOG-min

У каждого, кто просматривает Интернет, есть свой агент пользователя. User agent (UA) – это буквенно-цифровая строка, идентифицирующая программу, которая отправляет запрос на сервер и одновременно запрашивает доступ к web-сайту. Это стандартная часть веб-архитектуры, которая передается всеми веб-запросами в заголовках HTTP.

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

Принципы работы

Чтобы лучше понять принципы работы user agent, нужно обратить внимание на эволюцию Интернета. В первые годы его существования во Всемирной паутине доминировали несколько браузеров начального поколения. В результате многие web-серверы были разработаны для взаимодействия и подключения только с ними. Это стало возможным, поскольку веб-сайты могли идентифицировать веб-браузер как пользовательский агент по текстовой строке, когда он запрашивал доступ к сайту.

В то время посетители должны были вручную вводить команды для навигации и отправки сообщений. Современные браузеры делают эту работу сами – выполняют обязанности «агента пользователя», превращая его действия в команды.

Типы user agent

Браузеры являются простым примером user agent, однако есть и другие инструменты, выступающие в этой роли. Важно отметить, что не все пользовательские агенты контролируются людьми. Например, сканеры (роботы) поисковых систем автоматизированы и работают без вмешательства человека.

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

  • Браузеры (Chrome, Firefox, Internet Explorer, Safari, Edge, BlackBerry, Opera).
  • Поисковые системы (Google, GoogleImages, Yahoo).
  • Игровые консоли (PlayStation 3, PlayStation Portable, Wii, Nintendo Wii U).
  • Офлайн-браузеры (Wget, Offline Explorer).
  • Проверка ссылок (LinkChecker, W3C-checklink).
  • Электронные ридеры (Amazon Kindle), валидаторы, облачные платформы, библиотеки электронной почты, скрипты.

Расшифровка строки агента пользователя HTTP

После идентификации агента пользователя на web-сервере начинается процесс согласования содержимого. Это позволяет сайтам обслуживать различные версии самих себя, основываясь на строке пользовательского агента. User agent передает свою идентификационную карту на сервер, а затем сервер согласовывает комбинацию подходящих файлов, сценариев и носителей.

Получить информацию о своем user agent можно по ссылке http://whatsmyuseragent.org/. Полученная строка UA, например, может быть такой:
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0
В строке содержится информация:

  • Приложение UA – Mozilla версии 5.0
  • ОС Windows 7.
  • 64-разрядная Windows (WOW64).
  • Движок вывода web-страниц Gecko / 20100101.
  • Релиз web-браузера Firefox 64.

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

Использование строки user agent

Web-серверы используют пользовательские агенты, преследуя различные цели:

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

Боты для веб-сканирования также используют пользовательские агенты. Например, web-сканер Google идентифицирует себя в виде строки «Googlebot / 2.1 (+ http: //www.google.com/bot.html)».

Заключение

User agent является центральной частью web-архитектуры и играет важную роль в согласовании контента. Когда посетитель заходит в Интернет, браузер отправляет свой user agent на каждый веб-сайт, к которому он подключается. Агенты пользователей уникальны для каждого посетителя интернета. Они показывают конкретную технологию, используемую для доступа к сайту, странице или другому контенту.