Browserul dvs. își trimite agentul de utilizator pe fiecare site web la care vă conectați. Am scris despre schimbarea agentului de utilizator al browserului înainte - dar ce este exact un agent utilizator, oricum?
Un agent utilizator este un „șir” - adică o linie de text - care identifică browserul și sistemul de operare pe serverul web. Sună simplu, dar agenții utilizator au devenit o mizerie de-a lungul timpului.
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 agent utilizator variază de la browser la browser. Fiecare browser are propriul agent de utilizator distinctiv. În esență, un agent de utilizator este o modalitate prin care un browser poate spune „Bună, sunt Mozilla Firefox pe Windows” sau „Bună, sunt Safari pe un iPhone” pe un server web.
Serverul web poate utiliza aceste informații pentru a difuza diferite pagini web către diferite browsere web și 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” la Internet Explorer 6.
Examinarea agenților utilizator
De exemplu, iată agentul utilizatorului Firefox pe Windows 7:
Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0
Acest agent utilizator îi spune serverului web destul de puțin: sistemul de operare este Windows 7 (numele de cod Windows NT 6.1), este o versiune pe 64 de biți a Windows (WOW64), iar browserul în sine este Firefox 12.
Acum să aruncăm o privire asupra agentului de utilizator al Internet Explorer 9, care este:
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Șirul de agent utilizator identifică browserul ca IE 9 cu motorul de redare 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 utilizatorului Google Chrome:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, cum ar fi Gecko) Chrome / 19.0.1084.52 Safari / 536.5
Intriga se îngroașă: Chrome se pretinde a fi atât Mozilla, cât și Safari. Pentru a înțelege de ce, va trebui să examinăm istoricul agenților de utilizatori și al browserelor.
Mesajul șirului agentului utilizatorului
Mosaic a fost unul dintre primele browsere. Șirul său de agent de utilizator a fost NCSA_Mosaic / 2.0. Mai târziu, a apărut Mozilla (denumit ulterior Netscape), iar agentul său de utilizator a fost Mozilla / 1.0. Mozilla era un browser mai avansat decât Mosaic - în special, suporta cadre. Serverele web au verificat dacă agentul utilizator conține cuvântul Mozilla și a trimis pagini care conțin cadre către browserele Mozilla. La alte browsere, serverele web au trimis paginile vechi fără cadre.
În cele din urmă, a apărut Internet Explorer Microsoft și a acceptat și cadre. Cu toate acestea, IE nu a primit pagini web cu cadre, deoarece serverele web tocmai le-au trimis browserelor Mozilla. Pentru a rezolva această problemă, Microsoft a adăugat cuvântul Mozilla la agentul de utilizator și a trimis informații suplimentare (cuvântul „compatibil” și o referință la IE.) Serverele web au fost bucuroase 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 Gecko - motorul de redare Firefox - și au servit browserele Gecko diferite pagini decât browserele mai vechi. KHTML - dezvoltat inițial pentru Konquerer pe desktopul KDE Linux - a adăugat cuvintele „ca Gecko”, astfel încât să primească și paginile moderne concepute pentru Gecko. WebKit se bazează pe KHTML - când a fost dezvoltat, au adăugat cuvântul WebKit și au păstrat linia originală „KHTML, ca Gecko” în scopuri de compatibilitate. În acest fel, dezvoltatorii de browsere au continuat să adauge cuvinte la agenții lor de utilizatori în timp.
Serverelor Web nu le pasă cu adevărat care este șirul exact de agent de utilizator - verifică doar dacă conține un anumit cuvânt.
Utilizări
Serverele web utilizează agenți de utilizator pentru o varietate de scopuri, inclusiv:
- Servirea diferitelor pagini web către diferite browsere web. Acest lucru poate fi folosit pentru bine - de exemplu, pentru a servi pagini web mai simple browserelor mai vechi - sau rău - de exemplu, pentru a afișa un mesaj „Această pagină web trebuie vizualizată în Internet Explorer”.
- Afișarea conținutului diferit pe diferite sisteme de operare - de exemplu, prin afișarea unei pagini reduse pe dispozitivele mobile.
- Colectarea statisticilor care arată browserele și sistemele de operare utilizate de utilizatorii lor. Dacă vreodată vedeți statistici privind cota de piață a browserului, acesta este modul în care sunt achiziționate.
Roboții care accesează cu crawlere web folosesc și agenți de utilizator. De exemplu, crawlerul web Google se identifică ca:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
Serverele web pot oferi roboților un tratament special - de exemplu, permițându-le prin ecrane de înregistrare obligatorii. (Da, aceasta înseamnă că uneori puteți ocoli ecranele de înregistrare setând agentul dvs. de utilizator pe Googlebot.)
Serverele web pot, de asemenea, să dea comenzi anumitor roboți (sau tuturor roboților) folosind fișierul robots.txt. De exemplu, un server web ar putea spune unui anumit bot să dispară sau ar putea spune unui alt robot să indexeze numai anumite zone ale site-ului web. În fișierul robots.txt, roboții sunt identificați prin șirurile lor de agent de utilizator.
Toate browserele majore conțin modalități de a setați agenți de utilizator personalizați , astfel încât să puteți vedea ce servere web trimit către diferite browsere. De exemplu, setați browserul desktop pe șirul de agent de utilizator al unui browser mobil și veți vedea versiunile mobile ale paginilor web pe desktop.