User-Agent-parser

Parse user-agent-strenger for å oppdage nettleser, operativsystem, enhet og renderingsmotor. All behandling i nettleseren din.

Øyeblikkelig gjenkjenning Full analyse Behandling på klientsiden

Slik bruker du User-Agent-parseren

1

Auto-oppdaget eller lim inn UA

Din nåværende user-agent lastes inn automatisk, eller lim inn hvilken som helst UA-streng.

2

Øyeblikkelig analyse

Nettleser, OS, enhet og motor identifiseres umiddelbart.

3

Kopier resultatene

Kopier hele analysen eller enkeltkomponenter etter behov.

Hva er en user-agent?

En user-agent-streng er en HTTP-topptekst som nettlesere og apper sender til nettsteder for å identifisere seg selv. Den inneholder informasjon om nettlesernavn, versjon, operativsystem og enhet. Nettsteder bruker dette til å levere passende innhold og spore bruk.

User-agent-komponenter

Nettleser

Appnavnet og versjonen (Chrome 120, Firefox 121 osv.)

Operativsystem

Underliggende OS og versjon (Windows 11, macOS 14 osv.)

Enhetstype

Formfaktor: stasjonær, mobil, nettbrett eller annet

Renderingsmotor

Den underliggende motoren (Blink, Gecko, WebKit, Trident)

Vanlige spørsmål

Hvordan fungerer user-agent-parsing?

Parseren bruker mønstergjenkjenning mot kjente signaturer for nettleser, OS og motor i UA-strengen for å identifisere komponenter. Resultatene er best-effort siden UA-strenger kan forfalskes.

Kan den oppdage boter og crawlere?

Ja. Parseren gjenkjenner vanlige boter, crawlere og edderkopper ved å matche kjente mønstre som Googlebot, Bingbot og andre.

Hva er min nåværende user-agent?

Verktøyet oppdager og viser nettleserens din nåværende user-agent-streng automatisk når siden lastes inn.

Hvorfor inneholder Chromes user-agent også ordet Safari?

For kompatibilitet. Chrome stammer fra WebKit, hvis UA-streng kopierte Safaris, som selv kopierte tidligere nettlesere - derfor leser dagens Chrome-UA Mozilla/5.0 ... AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36. Hvert token er et historisk håndtrykk med gamle server-side gjenkjenningsskript, og det er også grunnen til at det siste samsvarende nettlesertokenet vanligvis er det ekte.

Hva er User-Agent Client Hints (UA-CH)?

Et mer personvernvennlig alternativ levert sammen med Chromes user-agent-reduksjon. Tjeneren ber om høy-entropi-hints med Accept-CH-svartoppteksten og mottar strukturerte felt som Sec-CH-UA-Platform og Sec-CH-UA-Full-Version på senere forespørsler. Ny kode bør foretrekke funksjonsdeteksjon eller UA-CH fremfor å parse rå UA-strenger.

Hvor pålitelig er gjenkjenning basert på user-agent?

Grei for analyse og grov ruting, skjør for alt som gjelder sikkerhet. UA-strenger forfalskes trivielt, tredjepartsnettlesere kopierer ofte Chromes token ukritisk, og reduserte UA-er fryser minor-versjonen. Beste praksis anbefalt av MDN: detekter funksjoner (CSS @supports, if ('IntersectionObserver' in window)) i stedet for nettlesere, og behandle UA-parsing som en fallback.

Kan jeg endre eller forfalske min egen user-agent?

Ja. DevTools i Chrome, Edge og Firefox på desktop tilbyr enhetsemulering med UA-overstyring; Safari har Develop > User Agent; og curl setter den med -A. Nettsteder som låser innhold til UA-strenger er per design omgåelige - enda en grunn til at tjenere aldri bør behandle en UA som identitetsbevis.

Hva er en 'redusert' user-agent?

Chromes fryseplan (rullet ut siden 2020) stripser gradvis versjonsdetaljer fra standard-UA-en: minor-versjonen låst til 0 og mest enhetsinformasjon fjernet, noe som gir omtrent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36. Målet er å begrense passiv fingeravtrykk; nøyaktige data flyttet til Client Hints med samtykke.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}