Brugeragent - identifikationsstreng for klientapplikationen ; almindeligvis brugt til applikationer, der får adgang til websteder - browsere , søgerobotter og edderkopper , mobiltelefoner og andre enheder med indbygget adgang til webressourcer.
Når du besøger et websted, sender klientapplikationen typisk information om sig selv til webserveren , en tekststreng, der er en del af HTTP - anmodningen, begyndende med User-agent:' eller User-Agent: , og som normalt inkluderer oplysninger såsom navnet og version af applikationen, computerens operativsystem og sprog. For edderkopper indeholder denne streng ofte en URL og en e -mailadresse, hvor webmasteren kan kontakte edderkoppens operatør.
På grund af dominansen af individuelle browsere på forskellige tidspunkter i World Wide Web 's historie , blev mange websteder designet ikke til W3C og IETF standarder , men til at arbejde med en bestemt browser. Disse websteder sender forskelligt websideindhold afhængigt af den User-Agent-værdi, de modtager fra klienten. Dette resulterer i, at siden kun kan åbnes med nogle få af de mest populære browsere, og browsere, der har lidt forskellige ID'er, er "forbudt".
Mange webmastere anser denne tilgang for at være en dårlig praksis og anbefaler, at HTML-markeringen er så standardiseret som muligt for at kunne vise siderne på webstedet korrekt i det maksimale antal browsere.
Mobiltelefonwebsteder er ofte nødt til at stole meget på User-Agent-definitionen, fordi browsere på forskellige mobiltelefoner er for forskellige. Derfor genererer mobile webportaler normalt forskellige sider afhængigt af mobiltelefonmodellen. Disse forskelle kan variere fra små (tilpasning af billedstørrelse specifikt til mindre skærme) til ret betydelige ( WML i stedet for XHTML -format ).
User-agent-strengen bruges også af webmastere til at forhindre søgespiders i at indeksere bestemte sider på et websted, for eksempel når indeksering af bestemte sider ikke giver mening, eller en bestemt edderkop belaster serveren meget. Webmasteren kan bruge en speciel robots.txt -fil til at anbefale til edderkoppen, eller blot konfigurere webstedet til ikke at give disse sider til edderkoppen.
Websteders brug af User-agent-strengen til at ændre visningen af en side resulterer ofte i, at mindre populære browsere ikke får det fulde indhold på siden, selvom de kan vise det korrekt, og i nogle ekstreme tilfælde får sådanne browsere ikke noget på alle. [1] I denne forbindelse begyndte mange browsere at "skjule" eller "falske" brugeragenten.
Et tidligt eksempel på dette er Internet Explorers brug af en User-Agent-streng, der starter med " Mozilla/<version> (kompatibel; MSIE <version>... ") til at hente indhold beregnet til Netscape Navigator , dets hovedkonkurrent i 1990'erne . Det skal bemærkes, at "Mozilla" i dette tilfælde ikke er Mozilla open source-browseren udgivet meget senere, men det originale kodenavn Navigator, som også var navnet på Netscape-maskoten ( maskot ). Dette format af User-Agent streng er siden blevet brugt af andre browsere; især på grund af det faktum, at Internet Explorer er blevet dominerende.
Da Internet Explorer blev den dominerende browser, indbyggede konkurrenter som Firefox , Safari og Opera systemer for at give brugeren mulighed for at vælge en falsk User-Agent, det samme som i nyere versioner af Explorer. Nogle af dem (Firefox og Safari) kopierede User-Agent-værdien fuldt ud, andre (Opera) kopierede User-Agent-værdien og tilføjede browserens sande navn til sidst, hvilket senere resulterede i, at strengen indeholdt tre navne og versioner: den første hedder "Mozilla" (dvs. Netscape Navigator); yderligere "MSIE" (Internet Explorer); og sidst, en gyldig browser som "Opera". Opera gav dig også mulighed for helt at forklæde dig selv som Internet Explorer eller Firefox, fuldstændigt at skjule "Opera"-navnet.
I tilfælde af Safari indeholder User-Agent-strengen 5 navne (Mozilla, AppleWebKit (identifikator for "motoren"), "KHTML, ligesom Gecko" (det anvendte Safari WebKit er baseret på KHTML-motoren, Gecko er kodenavnet for motoren i de seneste versioner af Mozilla Firefox) og Safari. Hvis siden søger efter næsten enhver moderne browser (undtagen Opera), vil Safari sende den videre. Andre browsere baseret på WebKit-motoren fungerer på samme måde.
Ud over browsere har andre programmer, der bruger HTTP-protokollen, såsom download-managere og offline-browsere , også muligheden for at ændre User-Agent-værdien, der sendes til serveren efter anmodning fra brugeren. Dette er sandsynligvis gjort for at sikre kompatibilitet med visse servere (nogle servere nægter at betjene sådanne programmer, da de kan belaste serverressourcer betydeligt; Google returnerer f.eks. 403 for standard python urllib-agenten).
Dette problem eksisterer fortsat i browserens verden, og derfor er der blevet lanceret en kampagne for at opmuntre webstedsudviklere til at designe websteder efter standarder og ikke til nogen bestemt browser.
For eksempel er mange websteder, der blev oprettet i 2005 , bedre standarder, end de var tidligere i internettets historie. Nogle websteder bruger dog stadig forældede JavaScript -scripts , der i det væsentlige blokerer andre browsere end Internet Explorer eller Netscape Navigator i at fungere. Årsagen til dette er ofte tankeløst kopiering af gammel kode taget fra andre websteder uden fuldt ud at forstå, hvilken effekt den kode rent faktisk vil have.
Et resultat af at skabe en User-Agent-værdi er at overvurdere populariteten af den tilsvarende (normalt allerede populære) browser i statistikker og undervurdere populariteten af andre browsere, og som et resultat har udviklerne af ovennævnte websteder ikke noget incitament til at rette kompatibilitet problemer.
Netscape , Mozilla , Opera og et par andre bruger et af disse bogstaver til at angive det krypteringsniveau, de understøtter. Da den amerikanske regering tidligere ikke tillod eksport af krypteringssystemer med en nøgle på mere end 40 bit, blev der udgivet forskellige versioner med forskellige niveauer af kryptering. "U" betød "USA" (USA) (for versioner med en 128-bit krypteringsnøgle), "I" betød "International" (international) (browseren havde mulighed for at kryptere med en 40-bit nøgle og kunne være brugt overalt i verden), "N" betød "Ingen" (ingen kryptering). I starten var "U"-versionerne kun tilladt at blive downloadet af indbyggere i USA, men da den amerikanske regering har lempet sin politik, er eksport af krypteringssystemer på højt niveau nu tilladt til de fleste lande. Nu distribueres browsere kun i versionen med bogstavet "U" med understøttelse af kryptering med en nøgle på op til 256 bit, da behovet for en international version er forsvundet.