Kaj je uporabniški agent brskalnika?
Vaš brskalnik pošlje svoj uporabniški agent na vsako spletno mesto, s katerim se povežete. Pred tem smo pisali o spremembi uporabniškega agenta brskalnika - toda kaj je uporabniški agent?
Uporabniški agent je »niz« - to je vrstica besedila - prepoznavanje brskalnika in operacijskega sistema za spletni strežnik. Zveni preprosto, vendar so uporabniški agenti sčasoma postali nered.
Osnove
Ko se brskalnik poveže s spletnim mestom, vključuje polje User-Agent v glavi HTTP. Vsebina polja uporabniškega agenta se razlikuje od brskalnika do brskalnika. Vsak brskalnik ima svoj poseben uporabniški agent. V bistvu je uporabniški agent način za brskalnik, da na spletnem strežniku reče: »Živjo, jaz sem Mozilla Firefox v operacijskem sistemu Windows« ali »Zdravo, jaz sem Safari na iPhoneu«.
Spletni strežnik lahko te informacije uporabi za različne spletne strani za različne spletne brskalnike in različne operacijske sisteme. Na primer, spletno mesto lahko pošlje mobilne strani v mobilne brskalnike, moderne strani v sodobne brskalnike in sporočilo »prosimo, nadgradite brskalnik« v Internet Explorer 6.
Preverjanje agentov uporabnikov
Na primer, tukaj je uporabniški agent Firefoxa v sistemu Windows 7:
Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0
Ta uporabniški agent precej pove spletnemu strežniku: operacijski sistem je Windows 7 (kodno ime Windows NT 6.1), 64-bitna različica sistema Windows (WOW64), brskalnik pa je Firefox 12.
Zdaj pa si oglejte uporabniški agent Internet Explorerja 9, ki je:
Mozilla / 5.0 (združljivo; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
Niz uporabniškega agenta označuje brskalnik kot IE 9 z mehanizmom za upodabljanje Trident 5. Vendar pa boste morda opazili nekaj zmedenega - IE se identificira kot Mozilla.
Na to se bomo vrnili čez minuto. Najprej preglejmo tudi uporabniški agent Google Chrome:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, kot Gecko) Chrome / 19.0.1084.52 Safari / 536.5
Zgradba se zgosti: Chrome se pretvarja, da je Mozilla in Safari. Da bi razumeli zakaj, bomo morali pregledati zgodovino uporabniških agentov in brskalnikov.
Besedilo niza uporabniškega agenta
Mozaik je bil eden prvih brskalnikov. Niz uporabniškega agenta je bil NCSA_Mosaic / 2.0. Kasneje je prišla Mozilla (kasneje preimenovana v Netscape), njen uporabniški agent pa je bil Mozilla / 1.0. Mozilla je bil bolj napreden brskalnik kot Mozaik - še posebej je podpiral okvirje. Spletni strežniki so preverili, ali je uporabniški agent vseboval besedo Mozilla in v brskalnike Mozilla poslal strani, ki vsebujejo okvirje. Za druge brskalnike so spletni strežniki stare strani poslali brez okvirjev.
Sčasoma se je pojavil Microsoftov Internet Explorer in podprl je tudi okvirje. Vendar IE ni prejel spletnih strani z okvirji, ker so jih spletni strežniki poslali v brskalnike Mozilla. Da bi odpravili to težavo, je Microsoft dodal besedo Mozilla svojemu uporabniškemu agentu in dodal dodatne informacije (beseda »združljiv« in sklic na IE). Spletni strežniki so bili veseli, da so videli besedo Mozilla in poslali IE moderne spletne strani. Drugi brskalniki, ki so prišli kasneje, so storili enako.
Sčasoma so nekateri strežniki iskali besedo Gecko - Firefoxov mehanizem za upodabljanje - in brskalniki Gecko strežili različne strani kot starejši brskalniki. KHTML - prvotno razvit za Konquerer na namizju KDE na Linuxu - je dodal besede »kot Gecko«, da bi dobili tudi sodobne strani, namenjene tudi Gecku. WebKit je temeljil na KHTML-ju - ko je bil razvit, so dodali besedo WebKit in ohranili originalno “KHTML, kot Gecko” linijo za namene združljivosti. Na ta način so razvijalci brskalnikov sčasoma dodajali besede svojim uporabniškim agentom.
Spletni strežniki ne marajo, kaj je natančen niz uporabniškega agenta - samo preverjajo, ali vsebuje določeno besedo.
Uporabe
Spletni strežniki uporabljajo uporabniške agente za različne namene, vključno z:
- Postavljanje različnih spletnih strani na različne spletne brskalnike. To se lahko uporablja za dobro - na primer, da se starejšim brskalnikom - ali narobe - na primer prikažejo enostavnejše spletne strani, na primer, da se prikaže sporočilo »Ta spletna stran mora biti prikazana v Internet Explorerju«.
- Prikazovanje različnih vsebin različnim operacijskim sistemom - na primer z prikazom skrajšane strani na mobilnih napravah.
- Zbiranje statistik, ki prikazujejo brskalnike in operacijske sisteme, ki jih uporabljajo njihovi uporabniki. Če kdaj vidiš statistične podatke o tržnem deležu brskalnika, je to tako.
Spletni brskalniki uporabljajo tudi uporabniške agente. Googlov spletni pajek se na primer identificira kot:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
Spletni strežniki lahko botom nudijo posebno obravnavo - na primer, tako, da jim omogočijo uporabo zaslonov obvezne registracije. (Da, to pomeni, da lahko včasih obidete zaslone za registracijo tako, da nastavite svoj uporabniški agent na Googlebot.)
Spletni strežniki lahko dajo naročila tudi določenim robotom (ali vsem robotom) z uporabo datoteke robots.txt. Na primer spletni strežnik bi lahko določenemu botu povedal, da ga bo izginil, ali pa drugim botu povedal, da indeksira samo nekatera področja spletne strani. V datoteki robots.txt roboti identificirajo nizi njihovih uporabniških agentov.
Vsi večji brskalniki vsebujejo načine za nastavitev uporabniških agentov po meri, tako da lahko vidite, kateri spletni strežniki pošiljajo različnim brskalnikom. Na primer, nastavite namizni brskalnik na niz uporabniških agentov mobilnega brskalnika in na namizju boste videli mobilne različice spletnih strani.