Что такое агент пользователя браузера?

Оглавление:

Что такое агент пользователя браузера?
Что такое агент пользователя браузера?

Видео: Что такое агент пользователя браузера?

Видео: Что такое агент пользователя браузера?
Видео: Какой провод купить для домашнего кинотеатра? Стоит ли брать дорогие акустические провода? - YouTube 2024, Май
Anonim
Ваш браузер отправляет свой пользовательский агент на каждый веб-сайт, к которому вы подключаетесь. Мы уже писали об изменении пользовательского агента вашего браузера, но что же такое агент пользователя?
Ваш браузер отправляет свой пользовательский агент на каждый веб-сайт, к которому вы подключаетесь. Мы уже писали об изменении пользовательского агента вашего браузера, но что же такое агент пользователя?

Пользовательский агент - это «строка», то есть строка текста - идентификация браузера и операционной системы на веб-сервере. Это звучит просто, но пользовательские агенты со временем стали беспорядочными.

Основы

Когда ваш браузер подключается к веб-сайту, он включает поле User-Agent в своем HTTP-заголовке. Содержимое поля пользовательского агента зависит от браузера и браузера. Каждый браузер имеет свой собственный, отличительный пользовательский агент. По сути, пользовательский агент - это способ для браузера сказать «Привет, я Mozilla Firefox в Windows» или «Привет, я - Safari на iPhone» на веб-сервере.

Веб-сервер может использовать эту информацию для обслуживания различных веб-страниц в разных веб-браузерах и разных операционных системах. Например, веб-сайт может отправлять мобильные страницы в мобильные браузеры, современные страницы в современные браузеры и сообщение «пожалуйста, обновите браузер» в Internet Explorer 6.

Изучение пользовательских агентов

Например, здесь пользовательский агент Firefox в Windows 7:

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0

Этот пользовательский агент немного сообщает веб-серверу: операционная система - это Windows 7 (кодовое имя Windows NT 6.1), это 64-разрядная версия Windows (WOW64), а сам браузер - Firefox 12.
Этот пользовательский агент немного сообщает веб-серверу: операционная система - это Windows 7 (кодовое имя Windows NT 6.1), это 64-разрядная версия Windows (WOW64), а сам браузер - Firefox 12.

Теперь давайте посмотрим на пользовательский агент Internet Explorer 9, который:

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)

Строка пользовательского агента идентифицирует браузер как IE 9 с движком рендеринга Trident 5. Однако вы можете обнаружить что-то запутанное - IE идентифицирует себя как Mozilla.
Строка пользовательского агента идентифицирует браузер как IE 9 с движком рендеринга Trident 5. Однако вы можете обнаружить что-то запутанное - IE идентифицирует себя как Mozilla.

Мы вернемся к этому через минуту. Во-первых, давайте рассмотрим также пользовательский агент Google Chrome:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5

Сюжет сгущается: Chrome притворяется как Mozilla, так и Safari. Чтобы понять, почему, нам нужно будет изучить историю пользовательских агентов и браузеров.
Сюжет сгущается: Chrome притворяется как Mozilla, так и Safari. Чтобы понять, почему, нам нужно будет изучить историю пользовательских агентов и браузеров.

Пользовательский агент String Mess

Мозаика была одним из первых браузеров. Его строка пользовательского агента была NCSA_Mosaic / 2.0. Позже появилась Mozilla (позже переименованная в Netscape), а ее пользовательским агентом была Mozilla / 1.0. Mozilla был более продвинутым браузером, чем Mosaic - в частности, он поддерживал фреймы. Веб-серверы проверили, чтобы пользовательский агент содержал слово Mozilla и отправлял страницы, содержащие фреймы, в браузеры Mozilla. Для других браузеров веб-серверы отправили старые страницы без фреймов.

В конце концов, появился Internet Explorer от Microsoft, и он также поддерживал фреймы. Однако IE не получал веб-страницы с фреймами, потому что веб-серверы просто отправляли их в браузеры Mozilla. Чтобы устранить эту проблему, Microsoft добавила слово Mozilla к своему пользовательскому агенту и добавила дополнительную информацию (слово «совместимо» и ссылку на IE.) Веб-серверы были рады увидеть слово Mozilla и отправили IE на современные веб-страницы. Другие браузеры, которые пришли позже, сделали то же самое.

В конце концов, некоторые серверы искали слово Gecko - механизм рендеринга Firefox - и служили браузерам Gecko на разных страницах, чем старые браузеры. KHTML - первоначально разработанный для Konquerer на рабочем столе Linux KDE - добавил слова «как Gecko», чтобы они получили современные страницы, предназначенные для Gecko. WebKit был основан на KHTML - когда он был разработан, они добавили слово WebKit и сохранили оригинальную строку «KHTML, например Gecko» для обеспечения совместимости. Таким образом, разработчики браузера с течением времени добавляли слова в свои пользовательские агенты.
В конце концов, некоторые серверы искали слово Gecko - механизм рендеринга Firefox - и служили браузерам Gecko на разных страницах, чем старые браузеры. KHTML - первоначально разработанный для Konquerer на рабочем столе Linux KDE - добавил слова «как Gecko», чтобы они получили современные страницы, предназначенные для Gecko. WebKit был основан на KHTML - когда он был разработан, они добавили слово WebKit и сохранили оригинальную строку «KHTML, например Gecko» для обеспечения совместимости. Таким образом, разработчики браузера с течением времени добавляли слова в свои пользовательские агенты.

Веб-серверам все равно, какая именно строка пользовательского агента - они просто проверяют, содержит ли оно определенное слово.

Пользы

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

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

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

Googlebot/2.1 (+https://www.google.com/bot.html)

Веб-серверы могут предоставлять боту специальную обработку - например, разрешая их через обязательные экраны регистрации. (Да, это означает, что вы иногда можете обойти регистрационные экраны, установив свой пользовательский агент в Googlebot.)

Веб-серверы также могут давать заказы определенным ботам (или всем ботам), используя файл robots.txt. Например, веб-сервер может сказать конкретному боту уйти или сообщить другому боту только индексировать определенные области веб-сайта. В файле robots.txt боты идентифицируются по их строкам пользовательского агента.

Image
Image

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

Рекомендуемые: