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 ut, men brukeragenter har blitt et rot over tid.
Det grunnleggende
Når nettleseren din kobler seg til et nettsted, inkluderer den et User-Agent-felt i HTTP-overskriften. Innholdet i feltet brukeragent 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 å betjene forskjellige websider til forskjellige nettlesere og forskjellige operativsystemer. For eksempel kan et nettsted sende mobilsider til mobile nettlesere, moderne sider til moderne nettlesere og en "vennligst oppgrader nettleseren" -meldingen din til Internet Explorer 6.
Undersøk brukeragenter
For eksempel, her er Firefoxs brukeragent på Windows 7:
Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0
Denne brukeragenten forteller webserveren 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å ta en titt på Internet Explorer 9s brukeragent, som er:
Mozilla / 5.0 (kompatibel; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
User agent-strengen identifiserer nettleseren som IE 9 med Trident 5-gjengivelsesmotoren. Imidlertid kan du oppdage noe forvirrende - IE identifiserer seg selv som Mozilla.
Vi kommer tilbake til det om et øyeblikk. La oss først 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
Handlingen tykner: Chrome later som om det er både Mozilla og Safari. For å forstå hvorfor, må vi undersøke historien til brukeragenter og nettlesere.
Brukeragenten String Mess
Mosaic var en av de første nettleserne. Dens brukeragentstreng var NCSA_Mosaic / 2.0. Senere kom Mozilla (senere omdøpt til Netscape), og brukeragenten var Mozilla / 1.0. Mozilla var en mer avansert nettleser enn Mosaic - spesielt støttet den 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 den støttet også rammer. Imidlertid mottok IE ikke websider med rammer, fordi webservere bare sendte dem til Mozilla-nettlesere. For å løse dette problemet, la Microsoft til ordet Mozilla til brukeragenten og kastet inn ytterligere informasjon (ordet "kompatibel" og en referanse til IE.) Webservere var glade for å se ordet Mozilla og sendte IE de moderne websidene. Andre nettlesere som kom senere gjorde det samme.
Etter hvert så noen servere etter ordet Gecko - Firefox gjengivelsesmotor - og serverte Gecko-nettlesere forskjellige sider enn eldre nettlesere. KHTML - opprinnelig utviklet for Konquerer på Linuxs KDE-skrivebord - la til ordene "som Gecko" slik at de også ville få de moderne sidene designet for Gecko. WebKit var basert på KHTML - da den ble utviklet, la de til ordet WebKit og beholdt den originale "KHTML, som Gecko" -linjen for kompatibilitetsformål. På denne måten fortsatte nettleserutviklerne å legge til ord til sine brukeragenter over tid.
Webservere bryr seg ikke egentlig hva den eksakte brukeragentstrengen er - de sjekker bare om den inneholder et bestemt ord.
Bruker
Webservere bruker brukeragenter for en rekke formål, inkludert:
- Visning av forskjellige websider til forskjellige nettlesere. Dette kan brukes for godt - for eksempel til å betjene enklere websider til eldre nettlesere - eller onde - for eksempel for å vise meldingen "Denne websiden må vises i Internet Explorer".
- Vise forskjellig innhold til forskjellige operativsystemer - for eksempel ved å vise en slanket side på mobile enheter.
- Samle statistikk som viser nettlesere og operativsystemer som brukerne bruker. Hvis du noen gang ser nettstedsstatistikker for nettlesere, er det slik de ervervet.
Nettgjennomsøkende roboter bruker også brukeragenter. For eksempel identifiserer Googles web-crawler seg selv som:
Googlebot/2.1 (+http://www.google.com/bot.html)
Webservere kan gi roboter spesiell behandling - for eksempel ved å tillate dem gjennom obligatoriske registreringsskjermbilder. (Ja, dette betyr at du noen ganger kan omgå registreringsskjermbilder ved å sette brukeragenten til Googlebot.)
Webservere kan også gi bestillinger til spesifikke bots (eller alle bots) ved hjelp av robots.txt-filen. For eksempel kan en webserver be en bestemt bot om å gå bort, eller fortelle en annen bot å bare indeksere bestemte områder på nettstedet. I robots.txt-filen blir robotene identifisert av brukeragentstrenger.
Alle store nettlesere inneholder måter å angi egendefinerte brukeragenter , slik at du kan se hva webservere sender til forskjellige nettlesere. Sett for eksempel skrivebordsleseren din til en mobilnettles brukeragentstreng, så ser du mobilversjonene av websider på skrivebordet.