/user-agent

User-Agent parser: Analyser nettleser og enhetsinfo

Analyser User-Agent-strenger for å finne nettleser, operativsystem, enhetstype og rendringsmotor lokalt.

Tolket resultat

Nettleser
-
-
Operativsystem
-
-
Enhetstype
-
Motor / Rendring
-
-

Hva er en User-Agent?

En User-Agent (brukeragent) er en tekststreng som nettleseren din sender til alle nettsteder du besøker. Denne strengen forteller nettstedet hvilken nettleser du bruker, versjonen, operativsystemet ditt og annen systeminformasjon.

Dette brukes av servere og webutviklere for å optimalisere innholdet, feilsøke enhetsspesifikke problemer eller analysere trafikk. Dette verktøyet kjører 100 % lokalt i nettleseren din og sender ikke din User-Agent to eksterne servere.

Om dette verktøyet

User-Agent-parseren dekoder den lange strengen nettleseren din sender med hver forespørsel og forteller deg nettleser, versjon, OS, plattform og enhetstype. Nyttig når du analyserer webtrafikk-logger, feilsøker rendering-problemer for spesifikke Chrome-versjoner, eller bygger en analyse-dashboard. Verktøyet håndterer også Client Hints (Sec-CH-UA-*) som er den moderne, mer strukturerte etterfølgeren til User-Agent. Alt parsing skjer i nettleseren, ingen strenger sendes videre.

Slik bruker du det

  1. Lim inn en User-Agent-streng, eller trykk «Bruk min» for din egen.
  2. Se dekodede felter: nettleser, versjon, motor, OS og enhet.
  3. For Client Hints: lim inn Sec-CH-UA-headere for strukturert parsing.
  4. Kopier felt-verdiene til analyse-skjemaet ditt.

Eksempler

Chrome på Windows 11
InnMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
UtNettleser: Chrome 128 Motor: Blink OS: Windows 10/11 Enhet: desktop
iPhone Safari
InnMozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1
UtNettleser: Mobile Safari 17.5 Motor: WebKit OS: iOS 17.5 Enhet: iPhone (mobil)
iOS-versjonen står som «17_5» i strengen med understrek. Parseren normaliserer til punktum-notasjon (17.5).

Vanlige bruksområder

  • Analysere log-linjer for å identifisere spesifikke Chrome- eller Safari-versjoner.
  • Feilsøke bugs som bare oppstår i visse OS/nettleser-kombinasjoner.
  • Segmentere brukere i analytics-verktøy.
  • Blokkere eller strupe boter og crawlere basert på User-Agent.
  • Skrive tester som simulerer forskjellige klienter.

Ofte stilte spørsmål

Hvorfor sier alle nettlesere «Mozilla/5.0»?
Historisk arv. Netscape (Mozilla) dominerte tidlig, og servere sjekket «Mozilla» for å levere frames og JavaScript. IE påstod da at den også var «Mozilla»-kompatibel, det gjorde Safari, Chrome og alle andre etter. I dag er «Mozilla/5.0» rent kosmetikk som ingen server bruker til noe reelt.
Hva er Client Hints?
Client Hints er en samling nye HTTP-headere (Sec-CH-UA-*) som erstatter den kaotiske User-Agent-strengen med strukturerte felter: Sec-CH-UA (nettleser), Sec-CH-UA-Platform (OS), Sec-CH-UA-Mobile (er dette mobil?), osv. De sendes bare hvis serveren har bedt om dem via Accept-CH-header. Personvernvennlig fordi mindre data sendes i standard forespørsler.
Kan jeg stole på User-Agent?
Nei. Den kan endres av brukeren (dev tools), boter forfalsker ofte den for å se ut som Chrome, og User-Agent «freezing» i Chrome betyr at versjonsnumre kan være generiske. Bruk aldri User-Agent alene for sikkerhetsavgjørelser, kun for statistikk og tilpassing hvor unøyaktighet er greit.
Hva er «GREASE» i Sec-CH-UA?
GREASE står for «Generate Random Extensions And Sustain Extensibility». Nettleseren legger til falske merker som «Not_A Brand» i Sec-CH-UA-listen for å tvinge servere til å håndtere ukjente verdier korrekt. Slik unngår vi den «alle-kaller-seg-Mozilla» ossifikasjonen som skjedde med User-Agent.

Teknisk bakgrunn

User-Agent-strengen har ingen formell grammatikk. RFC 7231 §5.5.3 sier bare at den «bør» inneholde produkt-navn og versjon adskilt med skråstrek, og at det gjerne følger kommentarer i parentes. I praksis er strengen en historisk collage: «Mozilla/5.0» av kompatibilitetsgrunner, deretter en parentes med plattform (Windows NT 10.0; Win64; x64), «AppleWebKit/537.36 (KHTML, like Gecko)» fra Safari-arven, «Chrome/128.0.0.0» det egentlige nettleser-navnet, og «Safari/537.36» som fingeravtrykk fra WebKit-forken. Å parse dette krever regex mot kjente mønstre samt en «kilde-liste» over kjente Chromium-baserte nettlesere (Edge, Opera, Brave, Vivaldi). Moderne løsning er User-Agent Client Hints: Chrome, Edge og Opera reduserer versjonsdelen av UA (fryser hoved-versjonen som 128.0.0.0) og oppfordrer servere til å hente presise verdier via Sec-CH-UA, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Arch, Sec-CH-UA-Bitness og Sec-CH-UA-Model. Vår parser dekker begge veier og produserer et normalisert JSON-objekt du kan bruke i analytics-piper.