Hva er en nettleserens brukeragent?
Nettleseren din sender brukeragenten til hvert nettsted du kobler til. Vi har skrevet om å endre nettleserens brukeragent før - men hva er egentlig en brukeragent, uansett?
En brukeragent er en "streng" - det vil si en tekstlinje - som identifiserer nettleseren og operativsystemet til webserveren. Dette høres enkelt, men brukeragenter har blitt et rot på tide.
Det grunnleggende
Når nettleseren din kobles til et nettsted, inneholder den et User-Agent-felt i HTTP-overskriften. Innholdet i brukeragentfeltet varierer fra nettleser til nettleser. Hver nettleser har sin egen, særegne brukeragent. I hovedsak er en brukeragent en måte for en nettleser å si «Hei, jeg er Mozilla Firefox på Windows» eller «Hei, jeg er Safari på en iPhone» til en webserver.
Webserveren kan bruke denne informasjonen til å vise forskjellige nettsider til forskjellige nettlesere og forskjellige operativsystemer. For eksempel kan et nettsted sende mobile sider til mobile nettlesere, moderne sider til moderne nettlesere, og en melding "vennligst oppgradere nettleseren" til Internet Explorer 6.
Undersøkelse av brukeragenter
For eksempel, her er Firefox brukeragent på Windows 7:
Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0
Denne brukeragenten forteller nettleseren ganske mye: Operativsystemet er Windows 7 (kodenavn Windows NT 6.1), det er en 64-biters versjon av Windows (WOW64), og selve nettleseren er Firefox 12.
La oss nå se på Internet Explorer 9s brukeragent, som er:
Mozilla / 5.0 (kompatibel; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
Brukeragentstrengen identifiserer nettleseren som IE 9 med Trident 5-gjengemotoren. Du kan imidlertid oppdage noe forvirrende - IE identifiserer seg som Mozilla.
Vi kommer tilbake til det om et minutt. Først må vi undersøke Google Chromes brukeragent også:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, som Gecko) Chrome / 19.0.1084.52 Safari / 536.5
Plottet tykner: Chrome ligner på å være både Mozilla og Safari. For å forstå hvorfor, må vi undersøke historien til brukeragenter og nettlesere.
User Agent String Mess
Mosaic var en av de første nettleserne. Brukeragentstrengen var NCSA_Mosaic / 2.0. Senere kom Mozilla (senere omdøpt Netscape), og brukeragenten var Mozilla / 1.0. Mozilla var en mer avansert nettleser enn Mosaic - spesielt støttet rammer. Webservere sjekket for å se at brukeragenten inneholdt ordet Mozilla og sendte sider som inneholder rammer til Mozilla-nettlesere. Til andre nettlesere sendte webservere de gamle sidene uten rammer.
Til slutt kom Microsofts Internet Explorer sammen, og det støttet også rammer. IE mottok imidlertid ikke websider med rammer, fordi webservere bare sendte dem til Mozilla-nettlesere. For å fikse dette problemet, tilføyde Microsoft ordet Mozilla til brukeragenten og kastet inn tilleggsinformasjon (ordet "kompatibelt" og en referanse til IE.) Webservere var glade for å se ordet Mozilla og sendte IE de moderne nettsidene. Andre nettlesere som kom senere gjorde det samme.
Til slutt så noen servere etter ordet Gecko - Firefox renderingsmotor - og ga Gecko-nettlesere forskjellige sider enn eldre nettlesere. KHTML - opprinnelig utviklet for Konquerer på Linuxs KDE-skrivebord - la til ordene "som Gecko", slik at de ville få de moderne sidene designet for Gecko også. WebKit var basert på KHTML - da den ble utviklet, la de til ordet WebKit og beholdt den opprinnelige "KHTML, som Gecko" -linjen for kompatibilitetsformål. På denne måten fortsatte nettleserutviklerne å legge til ord til sine brukeragenter over tid.
Web-servere bryr seg ikke akkurat hva den eksakte brukeragentstrengen er - de bare sjekker for å se om den inneholder et bestemt ord.
Bruker
Webservere bruker brukeragenter for en rekke formål, inkludert:
- Betjener forskjellige nettsider til forskjellige nettlesere. Dette kan brukes til godt - for eksempel å betjene enklere websider til eldre nettlesere - eller onde - for eksempel å vise en "Denne nettsiden må vises i Internet Explorer" melding.
- Viser forskjellig innhold til forskjellige operativsystemer - for eksempel ved å vise en slank ned-side på mobile enheter.
- Samler statistikk som viser nettleserne og operativsystemene som brukes av brukerne. Hvis du noensinne ser nettleserens markedsandelstatistikk, er dette slik de er kjøpt.
Web-crawling-bots bruker brukeragenter også. For eksempel identifiserer Googles webcrawler seg som:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
Webservere kan gi bots spesiell behandling - for eksempel ved å tillate dem gjennom obligatoriske registreringsskjermbilder. (Ja, dette betyr at du noen ganger kan bytte registreringsskjermbilder ved å sette brukeragenten din til Googlebot.)
Webservere kan også gi ordre til bestemte bots (eller alle bots) ved hjelp av robots.txt-filen. For eksempel kan en webserver fortelle en bestemt bot å gå bort, eller fortelle en annen bot å bare indeksere bestemte områder av nettstedet. I robots.txt-filen identifiseres bots av deres brukeragentstrenger.
Alle de store nettleserne inneholder måter å angi egendefinerte brukeragenter på, slik at du kan se hvilke webservere som sendes til forskjellige nettlesere. Sett for eksempel nettleseren til en nettleser for brukerens agent-agent, og du vil se mobilversjonene av nettsider på skrivebordet.