Brugeragent - User agent

I computing er en brugeragent enhver software, der handler på vegne af en bruger , som "henter, gengiver og letter slutbrugerinteraktion med webindhold". En brugeragent er derfor en særlig form for softwareagent .

Nogle fremtrædende eksempler på brugeragenter er webbrowsere og e -mail -læsere . Ofte fungerer en brugeragent som klienten i et klient -serversystem . I nogle sammenhænge, ​​f.eks. Inden for Session Initiation Protocol (SIP), refererer udtrykket brugeragent til begge slutpunkter i en kommunikationssession.

Brugeragentidentifikation

Når en software agent opererer i en netværksprotokol, det ofte identificerer sig, dens anvendelse typen, operativsystem , softwareleverandør, eller software revision, ved at indsende en karakteristisk identifikation snor til sin drift peer. I HTTP- , SIP- og NNTP-protokoller transmitteres denne identifikation i et headerfelt User-Agent . Bots , f.eks. Webcrawlere, indeholder ofte også en URL og/eller e-mail-adresse,webmasteren kan kontakte botoperatøren.

Brug i HTTP

I HTTP bruges User-Agent-strengen ofte til indholdsforhandling , hvor originalserveren vælger passende indhold eller driftsparametre til svaret. F.eks. Kan User-Agent-strengen bruges af en webserver til at vælge varianter baseret på de kendte funktioner i en bestemt version af klientsoftware. Begrebet indholdstilpasning er indbygget i HTTP -standarden i RFC 1945 "af hensyn til skræddersyede svar for at undgå særlige brugeragentbegrænsninger".

User-Agent-strengen er et af de kriterier, hvormed webcrawlere kan udelukkes fra at få adgang til bestemte dele af et websted ved hjælp af Robots Exclusion Standard ( robots.txt- fil).

Som med mange andre HTTP-forespørgselsoverskrifter bidrager oplysningerne i "User-Agent" -strengen til de oplysninger, som klienten sender til serveren, da strengen kan variere betydeligt fra bruger til bruger.

Format til menneskedrevne webbrowsere

Bruger-agent-strengformatet er i øjeblikket specificeret af afsnit 5.5.3 i HTTP/1.1 Semantik og indhold . Formatet for User-Agent-strengen i HTTP er en liste over produkttokener (søgeord) med valgfrie kommentarer. For eksempel, hvis en brugers produkt blev kaldt WikiBrowser, kan deres brugeragentstreng være WikiBrowser/1.0 Gecko/1.0 . Den "vigtigste" produktkomponent er først opført.

Dele af denne streng er som følger:

  • produktnavn og version ( WikiBrowser/1.0 )
  • layoutmotor og version ( Gecko/1.0 )

Under den første browserkrig blev mange webservere konfigureret til at sende websider, der krævede avancerede funktioner, herunder rammer , til klienter, der kun blev identificeret som en version af Mozilla . Andre browsere blev anset for at være ældre produkter, f.eks. Mosaic , Cello eller Samba , og ville blive sendt et HTML -dokument med bare ben.

Af denne grund bruger de fleste webbrowsere en User-Agent-strengværdi som følger:

Mozilla/[ version ] ([ system- og browserinformation ]) [ platform ] ([ platformdetaljer ]) [ udvidelser ]

For eksempel har Safari på iPad brugt følgende:

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

Komponenterne i denne streng er som følger:

  • Mozilla/5.0 : Tidligere brugt til at angive kompatibilitet med Mozilla -gengivelsesmotoren.
  • (iPad; U; CPU OS 3_2_1 som Mac OS X; en-us) : Oplysninger om det system, som browseren kører i.
  • AppleWebKit/531.21.10 : Den platform, browseren bruger.
  • (KHTML, ligesom Gecko) : Oplysninger om browserplatform.
  • Mobile/7B405 : Dette bruges af browseren til at angive specifikke forbedringer, der er tilgængelige direkte i browseren eller via tredjeparter. Et eksempel på dette er Microsoft Live Meeting, der registrerer en udvidelse, så Live Meeting -tjenesten ved, om softwaren allerede er installeret, hvilket betyder, at den kan give en strømlinet oplevelse af at deltage i møder.

Før migreringen til Chromium- kodebasen var Opera den mest udbredte webbrowser, der ikke havde User-Agent-strengen med "Mozilla" (i stedet begyndte den med "Opera"). Siden 15. juli 2013 begynder Operas User-Agent-streng med "Mozilla/5.0", og for at undgå at støde på gamle serverregler indeholder ordet ikke længere "Opera" (i stedet bruges strengen "OPR" til at betegne Opera-versionen).

Format til automatiserede agenter (bots)

Automatiserede webcrawlværktøjer kan bruge en forenklet form, hvor et vigtigt felt er kontaktoplysninger i tilfælde af problemer. Efter konventionen er ordet "bot" inkluderet i agentens navn. For eksempel:

Googlebot/2.1 (+http://www.google.com/bot.html)

Automatiserede agenter forventes at følge reglerne i en særlig fil kaldet " robots.txt ".

Brugeragent spoofing

Populariteten af ​​forskellige webbrowserprodukter har varieret gennem webens historie, og dette har påvirket design af websteder på en sådan måde, at websteder undertiden er designet til kun at fungere godt med bestemte browsere, snarere end i henhold til ensartede standarder fra World Wide Web Consortium (W3C) eller Internet Engineering Task Force (IETF). Websites indeholder ofte kode til at registrere browserversion for at justere det sidedesign, der sendes i henhold til den modtagne brugeragentstreng. Dette kan betyde, at mindre populære browsere ikke sendes komplekst indhold (selvom de muligvis kan håndtere det korrekt) eller i ekstreme tilfælde nægtede alt indhold. Således har forskellige browsere en funktion til at skjule eller forfalde deres identifikation til at tvinge bestemt indhold på serversiden. For eksempel identificerer Android -browseren sig selv som Safari (blandt andet) for at hjælpe med kompatibilitet.

Andre HTTP -klientprogrammer, f.eks. Downloadadministratorer og offline browsere , har ofte mulighed for at ændre brugeragentstrengen.

Spambots og webskrabere bruger ofte falske brugeragenter.

Et resultat af user agent spoofing kan være, at indsamlet statistik over brug af webbrowser er unøjagtig.

Brugeragent snuser

Brugeragent snus er praksis med websteder, der viser forskelligt eller justeret indhold, når de ses med bestemte brugeragenter. Et eksempel på dette er Microsoft Exchange Server 2003's Outlook Web Access -funktion. Når den ses med Internet Explorer 6 eller nyere, vises der mere funktionalitet sammenlignet med den samme side i alle andre browsere. Brugeragent sniffning betragtes som dårlig praksis, da det tilskynder browser-specifikt design og straffer nye browsere med ukendte brugeragentidentifikationer. I stedet anbefaler W3C at oprette standard HTML -markering, så korrekt gengivelse muliggøres i så mange browsere som muligt og testes for specifikke browserfunktioner frem for bestemte browserversioner eller mærker.

Websteder, der er beregnet til visning med mobiltelefoner, er ofte afhængige af, at brugeragenter snus, da mobile browsere ofte adskiller sig meget fra hinanden.

Krypteringsstyrke notationer

Webbrowsere oprettet i USA, f.eks. Netscape Navigator og Internet Explorer , brugte tidligere bogstaverne U, I og N til at angive krypteringsstyrken i brugeragentstrengen. Indtil 1996, hvor den amerikanske regering tillod, at kryptering med nøgler længere end 40 bit blev eksporteret, leverede leverandører forskellige browserversioner med forskellige krypteringsstyrker. "U" står for "USA" (for versionen med 128-bit kryptering), "I" står for "International"-browseren har 40-bit kryptering og kan bruges overalt i verden-og "N" står ( de facto ) for "Ingen" (ingen kryptering). Efter ophævelsen af eksportrestriktioner understøttede de fleste leverandører 256-bit kryptering.

Udfasning af bruger-agent-overskrift

I 2020 annoncerede Google , at de ville udfase understøttelse af User-Agent-overskriften i deres Google Chrome- browser. De oplyste, at andre store webbrowsereverandører støttede flytningen, men at de ikke vidste, hvornår andre leverandører ville følge trop. Google erklærede, at en ny funktion kaldet Client Hints ville erstatte funktionaliteten af ​​User-Agent-strengen.

Se også

Referencer