If-Koubou

Какво представлява потребителският агент на браузъра?

Какво представлява потребителският агент на браузъра? (Как да)

Вашият браузър изпраща своя потребителски агент на всеки сайт, до който се свързвате. Ние сме писали за промяна на потребителския ви агент на браузъра преди - но какво точно е потребителски агент, така или иначе?

Потребителският агент е "низ" - т.е. ред текст - идентифициращ браузъра и операционната система към уеб сървъра. Това звучи просто, но агентите на потребителите са се превърнали в бъркотия във времето.

Основите

Когато браузърът ви се свърже с уебсайт, той съдържа поле 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.

Сега нека разгледаме потребителския агент на Internet Explorer 9, който е:

Mozilla / 5.0 (съвместими; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)

Стойността на потребителския агент идентифицира браузъра като IE 9 с Trident 5 рендиращия двигател. Въпреки това, може да забележите нещо объркващо - 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. За да разберем защо, ще трябва да разгледаме историята на потребителските агенти и браузърите.

Потребителската струнна папка на агента на потребителя

Mosaic е един от първите браузъри. Неговият потребителски низ е NCSA_Mosaic / 2.0. По-късно се появи Mozilla (по-късно преименувана на Netscape), а потребителският й агент беше Mozilla / 1.0. Mozilla е по-усъвършенстван браузър от мозайката - по-специално, той поддържа рамки. Уеб сървърите проверяват дали потребителският агент съдържа думата Mozilla и изпраща страници, съдържащи рамки, до браузърите на Mozilla. За други браузъри уеб сървърите изпращат старите страници без рамки.

В края на краищата Microsoft Internet Explorer дойде заедно и поддържаше и рамки. Въпреки това, IE не получиха уеб страници с рамки, защото уеб сървърите просто ги изпратиха в браузърите на Mozilla. За да разреши този проблем, Microsoft добави думата Mozilla на своя потребителски агент и добави допълнителна информация (думата "съвместим" и справка за IE.) Уеб сървърите се радваха да видят думата Mozilla и изпратиха IE на съвременните уеб страници. Други браузъри, които дойдоха по-късно, направиха същото.

Накрая някои сървъри търсят думата Gecko - Firefox's rendering engine и служат на Gecko браузърите за различни страници, отколкото за по-старите браузъри. KHTML - първоначално разработен за Konquerer на работния плот на KDE на Linux - добави думите "като Gecko", така че те да получат съвременните страници, предназначени за Gecko. WebKit е базиран на KHTML - когато е разработен, те добавиха думата WebKit и запазиха оригиналната линия "KHTML, подобно на Gecko" за целите на съвместимостта. По този начин разработчиците на браузъри продължиха да добавят думи към своите потребителски агенти с течение на времето.

Уеб сървърите не се интересуват какво точно е стрингът на потребителски агенти - те просто проверяват дали съдържат конкретна дума.

употреби

Уеб сървърите използват потребителски агенти за различни цели, включително:

  • Показване на различни уеб страници в различни уеб браузъри. Това може да се използва за добро - например, за да се използват по-опростени уеб страници в по-стари браузъри - или зло - например, за да се покаже съобщение "Тази уеб страница трябва да се види в Internet Explorer".
  • Показване на различно съдържание на различни операционни системи - например чрез показване на отслабена страница на мобилни устройства.
  • Събиране на статистически данни, показващи браузърите и операционните системи, използвани от техните потребители. Ако някога сте виждали статистически данни за пазарния дял на браузърите, това е начинът им на придобиване.

Уеб-обхождащите ботове използват и агенти на потребителите. Например, уеб роботът на Google се идентифицира като:

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

Уеб сървърите могат да дават на ботовете специално лечение - например, като им позволяват чрез задължителни екрани за регистрация. (Да, това означава, че понякога можете да заобиколите регистрационните екрани, като зададете вашия потребителски агент в Googlebot.)

Уеб сървърите могат да дават поръчки на конкретни ботове (или всички ботове), като използват файла robots.txt. Например уеб сървър може да каже на даден бот да изчезне или да каже на друг бот да индексира само определени части от уебсайта. Във файла robots.txt ботовете се идентифицират от струните им от потребителски агенти.

Всички основни браузъри съдържат начини за задаване на персонализирани потребителски агенти, така че можете да видите какви уеб сървъри изпращат до различни браузъри. Например, задайте своя браузър на работния плот на низ на потребителски агент на мобилния браузър и ще видите мобилните версии на уеб страници на вашия работен плот.