Потребителският агент е "низ" - т.е. ред текст - идентифициращ браузъра и операционната система към уеб сървъра. Това звучи просто, но агентите на потребителите са се превърнали в бъркотия във времето.
Основите
Когато браузърът ви се свърже с уебсайт, той съдържа поле 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
Сега нека разгледаме потребителския агент на Internet Explorer 9, който е:
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Ще се върнем за това след минута. Първо, нека разгледаме и потребителския потребител на Google Chrome:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5
Потребителската струнна папка на агента на потребителя
Mosaic е един от първите браузъри. Неговият потребителски низ е NCSA_Mosaic / 2.0. По-късно се появи Mozilla (по-късно преименувана на Netscape), а потребителският й агент беше Mozilla / 1.0. Mozilla е по-усъвършенстван браузър от мозайката - по-специално, той поддържа рамки. Уеб сървърите проверяват дали потребителският агент съдържа думата Mozilla и изпраща страници, съдържащи рамки, до браузърите на Mozilla. За други браузъри уеб сървърите изпращат старите страници без рамки.
В края на краищата Microsoft Internet Explorer дойде заедно и поддържаше и рамки. Въпреки това, IE не получиха уеб страници с рамки, защото уеб сървърите просто ги изпратиха в браузърите на Mozilla. За да разреши този проблем, Microsoft добави думата Mozilla на своя потребителски агент и добави допълнителна информация (думата "съвместим" и справка за IE.) Уеб сървърите се радваха да видят думата Mozilla и изпратиха IE на съвременните уеб страници. Други браузъри, които дойдоха по-късно, направиха същото.
Уеб сървърите не се интересуват какво точно е стрингът на потребителски агенти - те просто проверяват дали съдържат конкретна дума.
употреби
Уеб сървърите използват потребителски агенти за различни цели, включително:
- Показване на различни уеб страници в различни уеб браузъри. Това може да се използва за добро - например, за да се използват по-опростени уеб страници в по-стари браузъри - или зло - например, за да се покаже съобщение "Тази уеб страница трябва да се види в Internet Explorer".
- Показване на различно съдържание на различни операционни системи - например чрез показване на отслабена страница на мобилни устройства.
- Събиране на статистически данни, показващи браузърите и операционните системи, използвани от техните потребители. Ако някога сте виждали статистически данни за пазарния дял на браузърите, това е начинът им на придобиване.
Уеб-обхождащите ботове използват и агенти на потребителите. Например, уеб роботът на Google се идентифицира като:
Googlebot/2.1 (+https://www.google.com/bot.html)
Уеб сървърите могат да дават на ботовете специално лечение - например, като им позволяват чрез задължителни екрани за регистрация. (Да, това означава, че понякога можете да заобиколите регистрационните екрани, като зададете вашия потребителски агент в Googlebot.)
Уеб сървърите могат да дават поръчки на конкретни ботове (или всички ботове), като използват файла robots.txt. Например уеб сървър може да каже на даден бот да изчезне или да каже на друг бот да индексира само определени части от уебсайта. Във файла robots.txt ботовете се идентифицират от струните им от потребителски агенти.
Всички основни браузъри съдържат начини за задаване на персонализирани потребителски агенти, така че можете да видите какви уеб сървъри изпращат до различни браузъри. Например, задайте своя браузър на работния плот на низ на потребителски агент на мобилния браузър и ще видите мобилните версии на уеб страници на вашия работен плот.