Što je korisnički agent preglednika?
Vaš preglednik šalje svog korisničkog agenta na svaku web-lokaciju na koju se povezujete. Prije smo pisali o promjeni korisničkog agenta preglednika - no što je zapravo korisnički agent, u svakom slučaju?
Korisnički agent je “niz” - to jest, linija teksta - identificiranje preglednika i operativnog sustava na web poslužitelju. To zvuči jednostavno, ali korisnički agenti postaju nered tijekom vremena.
Osnove
Kada se preglednik poveže s web-lokacijom, u HTTP zaglavlju sadrži polje User-Agent. Sadržaj polja korisničkog agenta razlikuje se od preglednika do preglednika. Svaki preglednik ima svoj vlastiti korisnički agent. U osnovi, korisnički agent je način na koji preglednik može reći "Bok, ja sam Mozilla Firefox na Windowsima" ili "Bok, ja sam Safari na iPhoneu" na web poslužitelju.
Web poslužitelj može koristiti te informacije za posluživanje različitih web stranica različitim web-preglednicima i različitim operativnim sustavima. Na primjer, web-lokacija može slati mobilne stranice mobilnim preglednicima, moderne stranice modernim preglednicima te poruku "molimo nadogradite svoj preglednik" na Internet Explorer 6.
Ispitivanje agenata korisnika
Na primjer, ovdje je Firefoxov korisnički agent u sustavu Windows 7:
Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0
Ovaj korisnički agent dosta govori web poslužitelju: operativni sustav je Windows 7 (kodno ime Windows NT 6.1), 64-bitna verzija sustava Windows (WOW64), a sam preglednik je Firefox 12.
Pogledajmo sada korisnički agent Internet Explorera 9 koji je:
Mozilla / 5.0 (kompatibilan; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
Niz korisničkog agenta identificira preglednik kao IE 9 s Trident 5 motorom za prikazivanje. Međutim, možda ćete uočiti nešto zbunjujuće - IE se identificira kao Mozilla.
Vratit ćemo se na to za minutu. Prvo, pogledajmo i korisnički agent Google Chromea:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, poput Gecko) Chrome / 19.0.1084.52 Safari / 536.5
Zemljište se širi: Chrome se pretvara da je i Mozilla i Safari. Da bismo razumjeli zašto, morat ćemo ispitati povijest korisničkih agenata i preglednika.
Korisnički agent String Mess
Mozaik je bio jedan od prvih preglednika. Njen korisnički agentski niz je NCSA_Mosaic / 2.0. Kasnije se pojavila Mozilla (kasnije preimenovana u Netscape), a njezin korisnički agent bio je Mozilla / 1.0. Mozilla je napredniji preglednik od Mozaika - posebice, podržava okvire. Web poslužitelji su provjerili da li je korisnički agent sadržavao riječ Mozilla i da su Mozilla preglednicima slali stranice koje sadrže okvire. Drugim preglednicima web poslužitelji poslali su stare stranice bez okvira.
Na kraju se pojavio Microsoftov Internet Explorer i podržao je i okvire. Međutim, IE nije primio web stranice s okvirima, jer su ih web poslužitelji upravo poslali u preglednike Mozilla. Da bi riješio taj problem, Microsoft je dodao riječ Mozilla svom korisničkom agentu i ubacio dodatne informacije (riječ "kompatibilan" i referenca na IE). Web poslužitelji su rado vidjeli riječ Mozilla i poslali IE moderne web stranice. I drugi preglednici koji su došli kasnije učinili su isto.
Na kraju su neki poslužitelji tražili riječ Gecko - Firefoxov mehanizam za prikazivanje - i posluživao je Gecko preglednicima različite stranice od starijih preglednika. KHTML - izvorno razvijen za Konquerer na Linuxu na KDE radnoj površini - dodao je riječi "like Gecko" kako bi dobili i suvremene stranice dizajnirane za Gecko. WebKit je bio baziran na KHTML-u - kada je razvijen, dodali su riječ WebKit i zadržali izvornu “KHTML, poput Gecko” liniju za potrebe kompatibilnosti. Na taj način programeri preglednika su tijekom vremena dodavali riječi svojim korisničkim agentima.
Web poslužitelji zapravo ne brinu što je točni niz korisničkih agenata - oni samo provjeravaju da li sadrži određenu riječ.
koristi
Web poslužitelji koriste korisničke agente za razne svrhe, uključujući:
- Posluživanje različitih web-stranica različitim web-preglednicima. To se može koristiti za dobro - na primjer, za posluživanje jednostavnijih web stranica starijim preglednicima - ili zlo - na primjer, za prikaz poruke "Ova web stranica mora biti pregledana u programu Internet Explorer".
- Prikazivanje različitog sadržaja različitim operacijskim sustavima - na primjer, prikazivanjem smanjene stranice na mobilnim uređajima.
- Prikupljanje statističkih podataka koji prikazuju preglednike i operativne sustave koje korisnici koriste. Ako ikada vidite statistiku tržišnog udjela preglednika, ovako ste ih dobili.
Robovi za indeksiranje weba koriste i korisničke agente. Na primjer, Googleov web-alat za indeksiranje identificira se kao:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
Web poslužitelji mogu dati botovima poseban tretman - primjerice, dopuštajući im da ih provedu kroz obvezne ekrane za registraciju. (Da, to znači da ponekad možete zaobići zaslon registracije postavljanjem korisničkog agenta na Googlebot.)
Web poslužitelji mogu davati naloge određenim robotima (ili svim botovima) pomoću datoteke robots.txt. Na primjer, web poslužitelj može reći određenom botu da ode, ili reći nekom drugom botu da samo indeksira određena područja web-mjesta. U datoteci robots.txt roboti se identificiraju pomoću nizova korisničkog agenta.
Svi glavni preglednici sadrže načine za postavljanje prilagođenih korisničkih agenata, tako da možete vidjeti što web-poslužitelji šalju različitim preglednicima. Na primjer, postavite preglednik radne površine na niz korisničkih agenata mobilnog preglednika i na radnoj površini ćete vidjeti mobilne verzije web-stranica.