Ce este agentul de utilizator al unui browser?
Browserul dvs. trimite agentul său utilizator la fiecare site la care vă conectați. Am scris despre schimbarea agentului de utilizator al browserului dvs., dar oricum este exact un agent de utilizator?
Un agent de utilizator este un "șir" - adică un rând de text - care identifică browserul și sistemul de operare pe serverul web. Acest lucru pare simplu, dar agenții utilizatorilor au devenit o problemă în timp.
Cele elementare
Când browserul dvs. se conectează la un site web, acesta include un câmp User-Agent în antetul său HTTP. Conținutul câmpului agentului de utilizator variază de la browser la browser. Fiecare browser are propriul agent utilizator distinctiv. În esență, un agent de utilizator este o modalitate pentru un browser să spună "Bună, sunt Mozilla Firefox pe Windows" sau "Bună, sunt Safari pe un iPhone" pe un server web.
Serverul web poate folosi aceste informații pentru a difuza pagini Web diferite în diferite browsere web și în diferite sisteme de operare. De exemplu, un site web ar putea trimite pagini mobile către browsere mobile, pagini moderne către browsere moderne și un mesaj "vă rugăm să actualizați browserul" în Internet Explorer 6.
Examinarea agenților utilizator
De exemplu, aici este agentul de utilizator al Firefox pe Windows 7:
Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0
Acest agent de utilizator spune destul de puțin serverului web: Sistemul de operare este Windows 7 (nume de cod Windows NT 6.1), este o versiune pe 64 de biți a Windows (WOW64) și browserul în sine este Firefox 12.
Acum, să aruncăm o privire asupra agentului utilizator Internet Explorer 9, care este:
Mozilla / 5.0 (compatibil; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
Șirul de agent de utilizator identifică browserul ca IE 9 cu motorul de randare Trident 5. Cu toate acestea, ați putea observa ceva confuz - IE se identifică ca Mozilla.
Vom reveni la asta într-un minut. Mai întâi, să examinăm și agentul utilizator Google Chrome:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, ca Gecko) Chrome / 19.0.1084.52 Safari / 536.5
Plotul se îngroașă: Chrome pretinde că este atât Mozilla, cât și Safari. Pentru a înțelege de ce, va trebui să examinăm istoricul agenților și browserelor utilizatorilor.
Agentul de utilizator String Mess
Mozaicul a fost unul dintre primele browsere. Sintaxa de agent de utilizator a fost NCSA_Mosaic / 2.0. Mai târziu, a venit Mozilla (ulterior redenumit Netscape), iar agentul său de utilizator a fost Mozilla / 1.0. Mozilla a fost un browser mai avansat decât mozaicul - în special, acesta a acceptat cadre. Seriile Web s-au bifat pentru a vedea că agentul de utilizator conținea Mozilla și trimite pagini care conțin cadre în browserele Mozilla. Pentru alte browsere, serverele web au trimis paginile vechi fără cadre.
În cele din urmă, Microsoft Internet Explorer a venit de-a lungul și a acceptat și cadre. Cu toate acestea, IE nu a primit pagini web cu cadre, deoarece serverele web le-au trimis doar pe browserele Mozilla. Pentru a rezolva această problemă, Microsoft a adăugat cuvântul Mozilla agentului său utilizator și a aruncat informații suplimentare (cuvântul "compatibil" și o referință la IE.) Serverele Web au fost bucuroși să vadă cuvântul Mozilla și au trimis IE paginile web moderne. Alte browsere care au venit mai târziu au făcut același lucru.
În cele din urmă, unele servere au căutat cuvântul Motorul de redare Gecko - Firefox - și au difuzat browserele Gecko în pagini diferite decât browserele mai vechi. KHTML - dezvoltat inițial pentru Konquerer pe desktopul KDE al Linux - a adăugat cuvintele "ca Gecko", astfel încât să obțină și paginile moderne concepute pentru Gecko. WebKit sa bazat pe KHTML - atunci când a fost dezvoltat, au adăugat cuvântul WebKit și au păstrat versiunea originală "KHTML, ca și Gecko" pentru compatibilitate. În acest fel, dezvoltatorii de browsere au continuat să adauge cuvinte agenților lor utilizatori de-a lungul timpului.
Serverele Web nu îți păsesc cu adevărat care este șirul exact al agentului de utilizator - verifică doar pentru a vedea dacă conține un anumit cuvânt.
utilizări
Serverele web utilizează agenți utilizator pentru o varietate de scopuri, printre care:
- Servirea diferitelor pagini Web în diferite browsere web. Acest lucru poate fi folosit bine - de exemplu, pentru a servi pagini web mai simple pentru browsere mai vechi - sau rău - de exemplu, pentru a afișa mesajul "Această pagină Web trebuie să fie vizualizată în Internet Explorer".
- Afișarea conținutului diferit la diferite sisteme de operare - de exemplu, prin afișarea unei pagini subțiri pe dispozitive mobile.
- Obținerea de statistici care prezintă browserele și sistemele de operare utilizate de utilizatori. Dacă vedeți vreodată statistici privind cota de piață a browserului, acesta este modul în care sunt achiziționate.
Motoarele de accesare cu crawlere online utilizează și agenți utilizator. De exemplu, crawlerul web Google se identifică ca:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
Serverele Web pot oferi un tratament special robotilor - de exemplu, permițându-i acestora să participe prin ecrane obligatorii de înregistrare. (Da, aceasta înseamnă că uneori puteți ocoli ecranele de înregistrare prin setarea agentului dvs. utilizator la Googlebot.)
Serverele Web pot de asemenea să dea comenzi unor bots specifice (sau tuturor bots) utilizând fișierul robots.txt. De exemplu, un server web ar putea să spună unui anumit bot să plece sau să spună unui alt bot să indexeze numai anumite zone ale site-ului. În fișierul robots.txt, boții sunt identificați prin șirurile lor de agenți utilizator.
Toate browserele importante conțin modalități de a seta agenți utilizator particularizat, astfel încât să puteți vedea ce servere web trimit către diferite browsere. De exemplu, setați browserul desktop la un șir de agenți de utilizator al browserului mobil și veți vedea versiunile mobile ale paginilor web de pe desktop.