If-Koubou

Ce este agentul de utilizator al unui browser?

Ce este agentul de utilizator al unui browser? (Cum să)

Browserul 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.

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 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 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 utiliza 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 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 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 se preface 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. 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 susținut ș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ă 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 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 de sistemele de operare diferite - de exemplu, prin afișarea unei pagini subțiri pe dispozitivele 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-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 importante 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.