User-agent-parser

Parse user-agent-strings om browser, besturingssysteem, apparaat en renderengine te detecteren. Alle verwerking in je browser.

Directe detectie Volledige analyse Verwerking aan de clientzijde

Hoe gebruik je de User-agent-parser

1

Auto-detectie of UA plakken

Je huidige user-agent wordt automatisch geladen, of plak een willekeurige UA-string.

2

Directe analyse

Browser, OS, apparaat en engine worden direct geïdentificeerd.

3

Kopieer resultaten

Kopieer de volledige analyse of afzonderlijke onderdelen waar nodig.

Wat is een user-agent?

Een user-agent-string is een HTTP-header die browsers en applicaties naar websites sturen om zichzelf te identificeren. Bevat informatie over de browsernaam, versie, besturingssysteem en apparaat. Websites gebruiken dit om passende content te serveren en gebruik te volgen.

User-agent-onderdelen

Browser

De app-naam en versie (Chrome 120, Firefox 121, enz.)

Besturingssysteem

Het onderliggende OS en de versie (Windows 11, macOS 14, enz.)

Apparaattype

Formfactor: desktop, mobiel, tablet of anders

Renderengine

De onderliggende engine (Blink, Gecko, WebKit, Trident)

Veelgestelde vragen

Hoe werkt user-agent-parsing?

De parser gebruikt patroonherkenning tegen bekende browser-, OS- en engine-handtekeningen in de UA-string om onderdelen te identificeren. Resultaten zijn best-effort omdat UA-strings vervalst kunnen worden.

Kan het bots en crawlers detecteren?

Ja. De parser herkent gangbare bots, crawlers en spiders door bekende patronen te matchen zoals Googlebot, Bingbot en andere.

Wat is mijn huidige user-agent?

De tool detecteert en toont de user-agent-string van je huidige browser automatisch wanneer de pagina laadt.

Waarom bevat Chromes user-agent ook het woord Safari?

Vanwege compatibiliteit. Chrome is afkomstig van WebKit, waarvan de UA-string die van Safari kopieerde, die op zijn beurt oudere browsers kopieerde - daarom leest de Chrome UA van vandaag Mozilla/5.0 ... AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36. Elk token is een historische handdruk met oude server-side detectiescripts, en daarom is de laatst matchende browsertoken meestal de echte.

Wat zijn User-Agent Client Hints (UA-CH)?

Een privacyvriendelijkere vervanging die samen met Chromes user-agent-reductie werd geleverd. De server vraagt hoge-entropie-hints aan met de Accept-CH-responseheader en ontvangt gestructureerde velden zoals Sec-CH-UA-Platform en Sec-CH-UA-Full-Version bij volgende verzoeken. Nieuwe code zou feature-detectie of UA-CH moeten verkiezen boven het parsen van ruwe UA-strings.

Hoe betrouwbaar is detectie op basis van user-agent?

Redelijk voor analytics en grove routing, broos voor alles wat met beveiliging te maken heeft. UA-strings zijn triviaal te vervalsen, browsers van derden kopiëren Chromes token vaak klakkeloos, en gereduceerde UA's bevriezen de minorversie. Best practice volgens MDN: detecteer features (CSS @supports, if ('IntersectionObserver' in window)) in plaats van browsers, en behandel UA-parsing als fallback.

Kan ik mijn eigen user-agent wijzigen of vervalsen?

Ja. DevTools in desktop-Chrome, Edge en Firefox bieden apparaatemulatie met UA-override; Safari heeft Develop > User Agent; en curl stelt hem in met -A. Sites die content vergrendelen op UA-strings zijn per ontwerp te omzeilen - nog een reden waarom servers een UA nooit als identiteitsbewijs moeten behandelen.

Wat is een 'gereduceerde' user-agent?

Chromes freeze-plan (uitgerold sinds 2020) stroopt geleidelijk versiedetails van de standaard-UA: de minorversie vastgezet op 0 en de meeste apparaatinformatie verwijderd, wat zoiets geeft als Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36. Het doel is passieve fingerprinting beperken; precieze data verhuisde naar opt-in Client Hints.

{-- * 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 --}}