Användaragent

En användaragent eller agent (även programvaruagent eller mjukvaruagent; engelska software agent eller user agent) är ett datorprogram som tar en mänsklig användares roll. Den verkar utifrån artificiell intelligens och har givits rätt att fatta egna beslut. Användaragenten kan hjälpa den mänskliga användaren med bland annat sållning och databassökningar; exempel på det förstnämnda är ett e-postprogram som sorterar bort skräppost, exempel på det sistnämnda är en sökmotor som presenterar ett sökresultat.

Tekniskt sett är en användaragent ett klientprogram för att implementera ett nätverksprotokoll som används i kommunikation mot en server. Termen används främst för klienter som ansluter till servrar på Internet.

Webbanvändaragenter finns i exempelvis webbläsare och sökmotorernas robotar. När en användaragent besöker en webbplats, identifierar den sig själv, med diverse information som kan vara namn, version, operativsystem, programvarutillverkare etc., genom att skicka med detta i det HTTP-anrop som sker.

Format 
En inofficiell format som används av webbläsare är följande: Mozilla/[version] ([system och webbläsare information]) [plattform] ([plattformsdetaljer]) [tillägg]. Till exempel har Safari på iPad använt följande: Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405. Komponenterna i den här strängen är följande:

 Mozilla/5.0: Tidigare används för att ange kompatibilitet med Mozilla renderingsmotorn
 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us): Uppgifter om det system som webbläsaren är igång
 AppleWebKit/531.21.10: Plattformen webbläsaren använder
 (KHTML, like Gecko): Webbläsarplattforms detaljer
 Mobile/7B405: Detta används av webbläsaren för att ange specifika förbättringar som är tillgängliga direkt i webbläsaren eller genom tredje part. Ett exempel på detta är Microsoft Live Meeting som registrerar en förlängning så att Live Meeting-tjänsten vet om programvaran redan är installerad, vilket innebär att den kan ge en strömlinjeformad upplevelse att delta i möten.

Dölja eller förfalska användaragent
Populariteten av olika webbläsare produkter har varierat genom hela webbens historia, och detta har påverkat utformningen av webbplatser på ett sådant sätt att webbplatser ibland är utformade för att fungera bra endast med särskild webbläsare, istället för enligt enhetliga standarder som World Wide Web Consortium (W3C) eller Internet Engineering Task Force (IETF) tagit fram. Webbplatser innehåller ofta kod för att upptäcka version av webbläsaren för att justera sidans design enligt den användaragent servern tar emot. Detta kan innebära att mindre populära webbläsare inte skickas så komplext innehåll, även om de skulle kunna hantera den på rätt sätt eller i extrema fall, vägra allt innehåll. Därför har en del webbläsare funktioner för att dölja eller förfalska identifieringen för att tvinga serversidan att visa innehåll. Andra HTTP-klient-program, som nedladdningshanterare och offline webbläsare, har också förmågan att ändra användaragent strängen. Visningsbar i alla webbläsare kampanjer finns för att uppmuntra utvecklare att designa webbsidor som fungerar lika bra med alla webbläsare. Ett resultat av användaragent förfalskning kan göra att statistik som samlas över webbläsaranvändning är felaktig.

Användaragentsniffning
Termen användaragentsniffning åsyftar att webbplatser visar olika innehåll när de ses med olika klienter. På webben riskerar detta att leda till olika webbplatsinnehåll beroende på webbläsare. Ett bra exempel på detta är Microsoft Exchange Server 2003:s Outlook Web Access-funktion. När den ses med Internet Explorer 6 (eller nyare), visas fler funktioner jämfört med samma sida i någon annan webbläsare, för att andra webbläsare inte kan återge samma innehåll. Användaragentsniffning är en dålig metod i praktiken, eftersom det uppmuntrar webbläsarspecifik utformning och bestraffar nya webbläsare med oredovisade identifieringar i användaragenten. Istället rekommenderar W3C användning av standard-HTML-kod, som tillåter korrekt rendering i så många webbläsare som möjligt och för att testa för särskilda webbläsarfunktioner snarare än att specialisera efter enskilda webbläsare.

Exempel på en hemsida som anpassas efter användaragent är Google (sökmotor). Användaragent Mozilla/5.0 (X11; U; Linux i686; ar; rv:1.9.2.7) Gecko/20100723 Fedora/3.6.7-1.fc13 Firefox/3.6.7 visar arabiska på http://www.google.com/.

Se även 
 Digitalt fingeravtryck av webbläsare
 Bot (programmering)
 Robotfälla

Referenser

Noter

Externa länkar 
 View My User Agent 
 Whats My User Agent? 
 User Agent String.Com 
 JavaScript - Browser detect 

Datorprogram
Artificiell intelligens