Домашня » як » Що таке агент користувача браузера?

    Що таке агент користувача браузера?

    Ваш веб-переглядач надсилає своєму користувальницькому агенту кожен веб-сайт, до якого ви підключаєтеся. Ми вже писали про зміну користувальницького агента вашого веб-переглядача раніше, - але що це, власне, агент користувача?

    Агент користувача - це "рядок" - це рядок тексту - ідентифікація браузера і операційної системи до веб-сервера. Це звучить просто, але користувальницькі агенти з часом стають безладдям.

    Основи

    Коли ваш веб-переглядач підключається до веб-сайту, він містить поле "Користувач-агент" у заголовку 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.

    Тепер давайте подивимося на користувальницький агент Internet Explorer 9, який є:

    Mozilla / 5.0 (сумісний; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)

    Рядок агента користувача ідентифікує браузер як IE 9 з механізмом візуалізації Trident 5. \ t Тим не менш, ви можете помітити щось незрозуміле - IE ідентифікує себе як Mozilla.

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

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

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

    Безпосередня безлад агента користувача

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

    Зрештою, з'явився Microsoft Internet Explorer і він також підтримував фрейми. Проте IE не отримував веб-сторінки з фреймами, оскільки веб-сервери відправляли їх у браузери Mozilla. Щоб виправити цю проблему, Microsoft додала слово Mozilla до свого агента користувача і додала додаткову інформацію (слово "сумісний" і посилання на IE). Веб-сервери були раді бачити слово Mozilla і надсилали IE сучасні веб-сторінки. Інші браузери, які прийшли пізніше, зробили те ж саме.

    Зрештою, деякі сервери шукали слово Gecko - механізм рендеринга Firefox - і обслуговували браузери Gecko на різних сторінках, ніж старі браузери. KHTML - спочатку розроблений для Konquerer на стільниці KDE Linux - додав слова "like Gecko", щоб вони також отримали сучасні сторінки, розроблені для Gecko. WebKit базувався на KHTML - коли він був розроблений, вони додавали слово WebKit і зберігали оригінальну лінію KHTML, як Gecko для цілей сумісності. Таким чином, розробники браузерів з часом додавали слова до своїх агентів користувача.

    Веб-сервери насправді не піклуються про те, що це точна рядок агента користувача - вони просто перевіряють, чи містить воно певне слово.

    Використання

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

    • Обслуговування різних веб-сторінок до різних веб-браузерів. Це можна використовувати назавжди - наприклад, для обслуговування більш простих веб-сторінок для старих веб-переглядачів - або злих - наприклад, для відображення повідомлення "Ця веб-сторінка потрібно переглядати в Internet Explorer".
    • Відображення різного вмісту в різних операційних системах - наприклад, шляхом відображення урізаної сторінки на мобільних пристроях.
    • Збір статистики, що показує браузери та операційні системи, що використовуються їх користувачами. Якщо ви коли-небудь бачите статистику обміну на ринку веб-переглядачів, саме так вони придбані.

    Роботи веб-сканування використовують також і агенти користувачів. Наприклад, веб-сканер Google визначає себе як:

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

    Веб-сервери можуть надавати ботам спеціальну обробку - наприклад, дозволяючи їм через обов'язкові екрани реєстрації. (Так, це означає, що іноді ви можете обійти екрани реєстрації, встановивши агент користувача на Googlebot.)

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


    Усі основні веб-переглядачі містять способи встановлення користувальницьких агентів користувача, так що ви можете бачити, які веб-сервери надсилати до різних браузерів. Наприклад, налаштуйте веб-переглядач стільниці на рядок агента користувача мобільного веб-переглядача, і на робочому столі відображатимуться мобільні версії веб-сторінок.