Bruker agent - User agent

I databehandling er en brukeragent enhver programvare som handler på vegne av en bruker , som "henter, gjengir og letter sluttbrukerinteraksjon med webinnhold". En brukeragent er derfor en spesiell type programvareagent .

Noen fremtredende eksempler på brukeragenter er nettlesere og e -postlesere . Ofte fungerer en brukeragent som klienten i et klient -serversystem . I noen sammenhenger, for eksempel i Session Initiation Protocol (SIP), refererer begrepet user agent til begge sluttpunktene i en kommunikasjonsøkt.

Brukeragentidentifikasjon

Når en programvare middel opererer i en nettverksprotokoll, ofte identifiserer seg selv, dens applikasjonstype, operativsystem , programvareleverandør, eller programvareversjon, ved å sende en karakteristisk identifikasjonsstreng til sin drifts node. I HTTP- , SIP- og NNTP-protokoller overføres denne identifikasjonen i et topptekstfelt User-Agent . Bots , for eksempel webcrawlere, inneholder ofte også en URL og/eller e-postadresse slik at nettredaktøren kan kontakte operatøren av boten.

Bruk i HTTP

I HTTP brukes User-Agent-strengen ofte for innholdsforhandlinger , hvor originalserveren velger passende innhold eller driftsparametere for svaret. For eksempel kan User-Agent-strengen brukes av en webserver til å velge varianter basert på de kjente egenskapene til en bestemt versjon av klientprogramvare. Konseptet med innholdstilpassing er innebygd i HTTP -standarden i RFC 1945 "for å skreddersy svar for å unngå spesielle brukeragentbegrensninger".

User-Agent-strengen er et av kriteriene for at webcrawlere kan utelukkes fra å få tilgang til visse deler av et nettsted ved hjelp av Robots Exclusion Standard ( robots.txt- fil).

Som med mange andre HTTP-forespørselsoverskrifter, bidrar informasjonen i "User-Agent" -strengen til informasjonen som klienten sender til serveren, siden strengen kan variere betydelig fra bruker til bruker.

Format for nettlesere som drives av mennesker

Bruker-agent-strengformatet er for øyeblikket spesifisert av avsnitt 5.5.3 i HTTP/1.1 Semantikk og innhold . Formatet til User-Agent-strengen i HTTP er en liste over produkttokener (nøkkelord) med valgfrie kommentarer. For eksempel, hvis en brukers produkt ble kalt WikiBrowser, kan brukeragentstrengen deres være WikiBrowser/1.0 Gecko/1.0 . Den "viktigste" produktkomponenten er først oppført.

Delene i denne strengen er som følger:

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

Under den første nettleserkrigen ble mange webservere konfigurert til å sende nettsider som krevde avanserte funksjoner, inkludert rammer , til klienter som bare ble identifisert som en versjon av Mozilla . Andre nettlesere ble ansett for å være eldre produkter som Mosaic , Cello eller Samba , og ville bli sendt et HTML -dokument med bare bein.

Av denne grunn bruker de fleste nettlesere en User-Agent-strengverdi som følger:

Mozilla/[ versjon ] ([ system- og nettleserinformasjon ]) [ plattform ] ([ plattformdetaljer ]) [ utvidelser ]

Safari på iPad har for eksempel brukt 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

Komponentene i denne strengen er som følger:

  • Mozilla/5.0 : Tidligere brukt til å indikere kompatibilitet med Mozilla -gjengivelsesmotoren.
  • (iPad; U; CPU OS 3_2_1 som Mac OS X; en-us) : Detaljer om systemet der nettleseren kjører.
  • AppleWebKit/531.21.10 : Plattformen nettleseren bruker.
  • (KHTML, som Gecko) : Nettleserplattformsdetaljer.
  • Mobile/7B405 : Dette brukes av nettleseren til å indikere spesifikke forbedringer som er tilgjengelige direkte i nettleseren eller gjennom tredjeparter. Et eksempel på dette er Microsoft Live Meeting som registrerer en utvidelse slik at Live Meeting -tjenesten vet om programvaren allerede er installert, noe som betyr at den kan gi en strømlinjeformet opplevelse for å bli med i møter.

Før den migrerte til Chromium- kodebasen, var Opera den mest brukte nettleseren som ikke hadde User-Agent-strengen med "Mozilla" (i stedet begynte den med "Opera"). Siden 15. juli 2013 begynner Operas User-Agent-streng med "Mozilla/5.0", og for å unngå å støte på eldre serverregler, inneholder ikke lenger ordet "Opera" (i stedet bruker du strengen "OPR" for å betegne Opera-versjonen).

Format for automatiserte agenter (bots)

Automatiserte webcrawl -verktøy kan bruke et forenklet skjema, der et viktig felt er kontaktinformasjon ved problemer. Etter konvensjon er ordet "bot" inkludert i navnet på agenten. For eksempel:

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

Det forventes at automatiserte agenter følger regler i en spesiell fil kalt " robots.txt ".

Brukeragent spoofing

Populariteten til ulike nettleserprodukter har variert gjennom internettets historie, og dette har påvirket utformingen av nettsteder på en slik måte at nettsteder noen ganger er designet for å fungere godt bare med bestemte nettlesere, snarere enn i henhold til ensartede standarder fra World Wide Web Consortium (W3C) eller Internet Engineering Task Force (IETF). Nettsteder inneholder ofte kode for å oppdage nettleserversjon for å justere sidedesignet som sendes i henhold til brukeragentstrengen som er mottatt. Dette kan bety at mindre populære nettlesere ikke blir sendt komplekst innhold (selv om de kan håndtere det riktig) eller i ekstreme tilfeller nektet alt innhold. Dermed har forskjellige nettlesere en funksjon for å skjule eller forfalske identifikasjonen deres for å tvinge innhold på serversiden. For eksempel identifiserer Android -nettleseren seg selv som Safari (blant annet) for å hjelpe kompatibiliteten.

Andre HTTP -klientprogrammer, som nedlastingsbehandlere og frakoblede nettlesere , har ofte muligheten til å endre brukeragentstrengen.

Spambots og webskrapere bruker ofte falske brukeragenter.

Et resultat av brukeragentforfalskning kan være at innsamlet statistikk over bruk av nettlesere er unøyaktig.

Brukeragent som snuser

Brukeragent sniffing er praksisen med at nettsteder viser forskjellig eller justert innhold når de vises med visse brukeragenter. Et eksempel på dette er Microsoft Exchange Server 2003s Outlook Web Access -funksjon. Når den vises med Internet Explorer 6 eller nyere, vises mer funksjonalitet sammenlignet med den samme siden i alle andre nettlesere. Brukeragent sniffing anses som dårlig praksis, siden det oppmuntrer til nettleserspesifikt design og straffer nye nettlesere med ukjente brukeragentidentifikasjoner. I stedet anbefaler W3C å opprette standard HTML -koder, slik at korrekt gjengivelse kan gjøres i så mange nettlesere som mulig, og å teste for spesifikke nettleserfunksjoner i stedet for bestemte nettleserversjoner eller merker.

Nettsteder beregnet på visning med mobiltelefoner er ofte avhengige av sniffing av brukeragenter, siden mobile nettlesere ofte skiller seg veldig fra hverandre.

Krypteringsstyrkenotasjoner

Nettlesere opprettet i USA, for eksempel Netscape Navigator og Internet Explorer , brukte tidligere bokstavene U, I og N for å angi krypteringsstyrken i brukeragentstrengen. Fram til 1996, da den amerikanske regjeringen tillot kryptering med nøkler som var lengre enn 40 biter som ble eksportert, sendte leverandører forskjellige nettleserversjoner med forskjellige krypteringsstyrker. "U" står for "USA" (for versjonen med 128-biters kryptering), "I" står for "Internasjonal"-nettleseren har 40-biters kryptering og kan brukes hvor som helst i verden-og "N" står ( de facto ) for "Ingen" (ingen kryptering). Etter at eksportrestriksjonene ble opphevet , støttet de fleste leverandørene 256-biters kryptering.

Avvikling av User-Agent-topptekst

I 2020 kunngjorde Google at de skulle fase ut støtte for User-Agent-overskriften i nettleseren Google Chrome . De uttalte at andre store nettleserleverandører støttet flyttingen, men at de ikke visste når andre leverandører ville følge etter. Google uttalte at en ny funksjon kalt Client Hints ville erstatte funksjonaliteten til User-Agent-strengen.

Se også

Referanser