Din browser sender sin brugeragent til hvert websted, du opretter forbindelse til. Vi har skrevet om ændre din browsers brugeragent før - men hvad er egentlig en brugeragent, alligevel?
En brugeragent er en "streng" - dvs. en tekstlinje - der identificerer browseren og operativsystemet til webserveren. Dette lyder simpelt, men brugeragenter er blevet et rod over tid.
Det grundlæggende
Når din browser opretter forbindelse til et websted, indeholder den et User-Agent-felt i dets HTTP-header. Indholdet af brugeragentfeltet varierer fra browser til browser. Hver browser har sin egen, særprægede brugeragent. I det væsentlige er en brugeragent en måde for en browser at sige "Hej, jeg er Mozilla Firefox på Windows" eller "Hej, jeg er Safari på en iPhone" til en webserver.
Webserveren kan bruge disse oplysninger til at betjene forskellige websider til forskellige webbrowsere og forskellige operativsystemer. For eksempel kan et websted sende mobilsider til mobilbrowsere, moderne sider til moderne browsere og en "venligst opgrader din browser" -meddelelse til Internet Explorer 6.
Undersøgelse af brugeragenter
Her er for eksempel Firefox's brugeragent i Windows 7:
Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0
Denne brugeragent fortæller webserveren en hel del: Operativsystemet er Windows 7 (kodenavn Windows NT 6.1), det er en 64-bit version af Windows (WOW64), og selve browseren er Firefox 12.
Lad os nu se på Internet Explorer 9s brugeragent, som er:
Mozilla / 5.0 (kompatibel; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
User agent-strengen identificerer browseren som IE 9 med Trident 5-gengivelsesmotoren. Du kan dog få øje på noget forvirrende - IE identificerer sig selv som Mozilla.
Vi kommer tilbage til det om et øjeblik. Lad os først også undersøge Google Chromes brugeragent:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, ligesom Gecko) Chrome / 19.0.1084.52 Safari / 536.5
Plottet tykner: Chrome foregiver at være både Mozilla og Safari. For at forstå hvorfor bliver vi nødt til at undersøge historikken for brugeragenter og browsere.
Brugeragenten String Mess
Mosaik var en af de første browsere. Dens brugeragentstreng var NCSA_Mosaic / 2.0. Senere kom Mozilla (senere omdøbt til Netscape), og dens brugeragent var Mozilla / 1.0. Mozilla var en mere avanceret browser end Mosaic - især understøttede den rammer. Webservere kontrollerede for at se, at brugeragenten indeholdt ordet Mozilla og sendte sider indeholdende rammer til Mozilla-browsere. Til andre browsere sendte webservere de gamle sider uden rammer.
Til sidst kom Microsofts Internet Explorer, og det understøttede også rammer. Imidlertid modtog IE ikke websider med rammer, fordi webservere bare sendte dem til Mozilla-browsere. For at løse dette problem tilføjede Microsoft ordet Mozilla til deres brugeragent og kastede yderligere information (ordet "kompatibel" og en henvisning til IE.) Webservere var glade for at se ordet Mozilla og sendte IE de moderne websider. Andre browsere, der kom senere, gjorde det samme.
Til sidst ledte nogle servere efter ordet Gecko - Firefox's gengivelsesmotor - og serverede Gecko-browsere forskellige sider end ældre browsere. KHTML - oprindeligt udviklet til Konquerer på Linux's KDE-skrivebord - tilføjede ordene "som Gecko", så de også ville få de moderne sider designet til Gecko. WebKit var baseret på KHTML - da det blev udviklet, tilføjede de ordet WebKit og opbevarede den originale "KHTML, som Gecko" -linje for kompatibilitetsformål. På denne måde fortsatte browserudviklere med at tilføje ord til deres brugeragenter over tid.
Webservere er ligeglad med, hvad den nøjagtige brugeragentstreng er - de kontrollerer bare for at se, om den indeholder et bestemt ord.
Anvendelser
Webservere bruger brugeragenter til en række formål, herunder:
- Visning af forskellige websider til forskellige webbrowsere. Dette kan bruges til gode - for eksempel til at betjene enklere websider til ældre browsere - eller ondt - for eksempel til at vise en meddelelse "Denne webside skal vises i Internet Explorer".
- Visning af andet indhold til forskellige operativsystemer - for eksempel ved at vise en slanket side på mobile enheder.
- Indsamling af statistik, der viser browsere og operativsystemer, der bruges af deres brugere. Hvis du nogensinde ser browserstatistikstatistikker, er det sådan, de erhverves.
Web-crawling bots bruger også brugeragenter. For eksempel identificerer Googles webcrawler sig selv som:
Googlebot/2.1 (+http://www.google.com/bot.html)
Webservere kan give bots særlig behandling - for eksempel ved at tillade dem gennem obligatoriske registreringsskærme. (Ja, det betyder, at du nogle gange kan omgå registreringsskærme ved at indstille din brugeragent til Googlebot.)
Webservere kan også give ordrer til specifikke bots (eller alle bots) ved hjælp af robots.txt-filen. For eksempel kunne en webserver bede en bestemt bot om at gå væk, eller bede en anden bot om kun at indeksere bestemte områder af hjemmesiden. I robots.txt-filen identificeres bots ved hjælp af deres brugeragentstrenge.
Alle større browsere indeholder måder at indstil brugerdefinerede brugeragenter , så du kan se, hvad webservere sender til forskellige browsere. Indstil f.eks. Din desktopbrowser til en mobilbrowsers brugeragentstreng, så får du vist mobilversionerne af websider på dit skrivebord.