Vaš preglednik šalje svog korisničkog agenta na svaku web stranicu s kojom se povezujete. Već smo pisali o mijenjanju korisničkog agenta vašeg preglednika - ali što je ionako korisnički agent?
Korisnički agent je "niz" - to jest, redak teksta - koji identificira preglednik i operativni sustav web poslužitelju. To zvuči jednostavno, ali korisnici su postali nered s vremenom.
Kada se vaš preglednik spoji na web stranicu, u njemu se nalazi polje User-Agent u HTTP zaglavlju. Sadržaj polja korisničkih agenata razlikuje se od preglednika do preglednika. Svaki preglednik ima vlastiti, prepoznatljiv korisnički agent. U osnovi, korisničko sredstvo je način da preglednik kaže na web poslužitelju "Bok, ja sam Mozilla Firefox na Windows" ili "Bok, ja sam Safari na iPhoneu".
Web poslužitelj može koristiti ove podatke za posluživanje različitih web stranica različitim web preglednicima i različitim operacijskim sustavima. Na primjer, web-lokacija bi mogla poslati mobilne stranice mobilnim preglednicima, suvremenim stranicama modernim preglednicima i poruku "nadograditi preglednik" na Internet Explorer 6.
Na primjer, ovdje je Firefoxov korisnički agent na sustavu Windows 7:
Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0
Ovaj korisnički agent vrlo često govori web poslužitelju: operativni sustav Windows 7 (naziv koda Windows NT 6.1), to je 64-bitna verzija sustava Windows (WOW64), a sam je preglednik Firefox 12.
Pogledajmo sada korisničkog agenta programa Internet Explorer 9, koji je:
Mozilla / 5.0 (kompatibilna, MSIE 9.0, Windows NT 6.1, WOW64, Trident / 5.0)
Korisnički agent identificira preglednik kao IE 9 s Trident 5 rendering motorom. Međutim, možete zamijetiti nešto zbunjujuće - IE se identificira kao Mozilla.
Vratit ćemo se na trenutak. Prvo, ispitajte i korisničke agente Google Chromea:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, kao što je Gecko) Chrome / 19.0.1084.52 Safari / 536.5
Zemlja se zgušnjava: Chrome se pretvara da je i Mozilla i Safari. Da bismo razumjeli zašto moramo pregledati povijest korisničkih agenata i preglednika.
Mozaik je bio jedan od prvih preglednika. Njezin je korisnički agent niz NCSA_Mosaic / 2.0. Kasnije je došao Mozilla (kasnije je preimenovan u Netscape), a njegov korisnički agent bio je Mozilla / 1.0. Mozilla je bio napredniji preglednik od Mosaic - naročito, podržavao je okvire. Web poslužitelji provjerili su da korisnik agenta sadrži riječ Mozilla i šalje stranice koje sadrže okvire preglednicima Mozilla. U druge preglednike web poslužitelji su poslali stare stranice bez okvira.
Na kraju, Microsoft Internet Explorer je došao zajedno i podržao okvire, previše. Međutim, IE nije primio web stranice s okvirom, jer su web poslužitelji upravo poslali te preglednike Mozilla. Da bi riješio taj problem, Microsoft je dodao riječ Mozilla svojim korisničkim agentom i bacio dodatne informacije (riječ "kompatibilna" i referenca na IE). Web poslužitelji su rado vidjeli riječ Mozilla i poslali IE moderne web stranice. Ostali preglednici koji su kasnije postali učinili su istu stvar.
Na kraju, neki poslužitelji potražili su riječ Gecko - Firefoxov renderirani motor - i poslužili Gecko preglednicima različite stranice od starijih preglednika. KHTML - izvorno razvijen za Konquerera na KDE radnoj površini Linuxa - dodao je riječi "poput Gecko" kako bi dobili moderne stranice dizajnirane za Gecko. WebKit se temeljio na KHTML-u - kada je bio razvijen, dodali su riječ WebKit i zadržali originalnu liniju "KHTML, poput Gecko" za svrhe kompatibilnosti. Na taj način, razvojni programeri preglednika nastavljaju davati riječi svojim korisničkim agentima tijekom vremena.
Web poslužitelji zapravo ne brinu o tome što je točan korisnički niz agenata - samo provjeravaju sadrži li određenu riječ.
Web poslužitelji koriste korisničke agente za različite svrhe, uključujući:
Roboti za indeksiranje weba također koriste korisničke agente. Na primjer, Googleov robot za indeksiranje prepoznaje se kao:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
Web poslužitelji mogu dati botovima poseban tretman - na primjer, dopuštajući ih kroz obvezne registracije. (Da, to znači da ponekad možete zaobići registracijske postavke postavljanjem korisničkog agenta Googlebotu.)
Web poslužitelji mogu također dati narudžbe određenim robama (ili svim robama) koristeći datoteku robots.txt. Na primjer, web-poslužitelj mogao bi reći određenom botu da ode, ili reći drugom botu da samo indeksira određena područja web stranice. U robots.txt datoteci roboti su identificirani pomoću njihovih korisničkih agenata.
Svi glavni preglednici sadrže načine postavljanja korisničkih agenata korisnika, tako da možete vidjeti koje web poslužitelje šalju na različite preglednike. Na primjer, postavite preglednik na radnu površinu korisničkih agenata mobilnog preglednika i vidjet ćete mobilne verzije web stranica na radnoj površini.