23Jul
Browser-ul dvs. trimite agentul său utilizator la fiecare site la care vă conectați. Am scris deja despre schimbarea agentului de utilizator al browserului dvs. - dar ce anume este un agent utilizator, oricum?
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.
Aspecte de bază
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 de agent utilizator variază de la browser la browser. Fiecare browser are propriul său agent utilizator distinctiv.În esență, un agent de utilizator este un mod pentru un browser care să spună "Bună, sunt Mozilla Firefox pe Windows" sau "Bună, sunt Safari pe iPhone" pe un server web.
Serverul web poate utiliza aceste informații pentru a difuza diferite pagini Web în diferite browsere web și în diferite sisteme de operare. De exemplu, un site web ar putea trimite paginile mobile către browserele mobile, paginile moderne către browserele moderne și un mesaj "vă rugăm să actualizați browserul" în Internet Explorer 6.
Examinați agenții utilizator
De exemplu, aici este agentul utilizator 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 un server destul de puțin: Sistemul de operare este Windows 7( nume de cod Windows NT 6.1)(WOW64) și browserul propriu-zis este Firefox 12.
Acum, să aruncăm o privire la agentul de utilizator Internet Explorer 9, care este:
Mozilla / 5.0( compatibil; MSIE 9.0; Windows NT 6.1; WOW64; Trident /5.0)
Șirul de agent utilizator identifică browser-ul 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
Complotul se îngroațește:Mozilla și Safari. Pentru a înțelege de ce, va trebui să examinăm istoricul agenților și browserelor utilizatorilor.
Mesajul de șir de agenți utilizator
Mosaic a fost unul dintre primele browsere. Sintaxa de agent de utilizator a fost NCSA_Mosaic / 2.0.Ulterior, 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. Serverele 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 motoare de redare Gecko - Firefox - și au difuzat browserele Gecko în pagini diferite decât browserele mai vechi. KHTML - dezvoltat inițial pentru Konquerer pe desktop-ul KDE al Linux - a adăugat cuvintele "ca Gecko", astfel încât să obțină și paginile moderne create pentru Gecko. WebKit a fost bazat pe KHTML - 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 utilizator în timp.
Serverele web nu-i pasă cu adevărat de ceea ce este șirul exact al agentului de utilizator - ei doar verifică dacă acesta conține un anumit cuvânt.
Utilizează serverele
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 către 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 dispozitivele mobile.
- Se colectează 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.
Robii de accesare cu crawlere web folosesc ș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 bots - de exemplu, permițându-le 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 majore conțin modalități de a seta agenți utilizator personalizați, 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.