Ga naar de hoofdinhoud

User-Agent Client Hints en UA-reductie

Browsers op basis van Chromium sturen een gereduceerde User-Agent-string: de details die een apparaat het nauwkeurigst identificeerden zijn bevroren op vaste waarden, en de precieze gegevens zijn verhuisd naar User-Agent Client Hints (UA-CH), die een site moet opvragen. Deze gids parseert een oude string van Chrome op Android naast een gereduceerde.

Uitgewerkt voorbeeld

Oude Chrome op Android (vóór de reductie)
Mozilla/5.0 (Linux; Android 12; SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.88 Mobile Safari/537.36
Browser
Chrome 99.0.4844.88
Engine
Blink
Besturingssysteem
Android 12
Apparaatklasse
Mobiel
Apparaat
Samsung SM-G991B
CPU-architectuur
Onbekend
Bot / crawler
Nee
Gereduceerde Chrome op Android
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36
Browser
Chrome 120.0.0.0
Engine
Blink
Besturingssysteem
Android 10
Apparaatklasse
Mobiel
Apparaat
K
CPU-architectuur
Onbekend
Bot / crawler
Nee

De oude string toont Android 12, het Samsung-model SM-G991B en de volledige versie 99.0.4844.88. In de gereduceerde string zijn Android 10 en het model K plaatshouders die elk Android-apparaat stuurt, en eindigt de versie op .0.0.0. De parser rapporteert precies wat de string zegt — Android 10, model K — dus alleen de hoofdversie 120 en het Mobile-token bevatten nog echte informatie.

Low-entropy hints die een Chromium-browser standaard stuurt, en een Accept-CH-responseheader die om meer vraagt
Sec-CH-UA: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"
Sec-CH-UA-Mobile: ?1
Sec-CH-UA-Platform: "Android"

Accept-CH: Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List

Belangrijkste regels

  • Gereduceerde Chrome-strings behouden alleen de hoofdversie; minor, build en patch zijn altijd 0.0.0.
  • Op Android staat de OS-versie vast op 10 en wordt het apparaatmodel vervangen door K. Op desktop is het platform bevroren op waarden zoals Windows NT 10.0; Win64; x64, Macintosh; Intel Mac OS X 10_15_7 of X11; Linux x86_64.
  • Via HTTPS sturen Chromium-browsers standaard drie low-entropy hints: Sec-CH-UA (merken en hoofdversies), Sec-CH-UA-Mobile en Sec-CH-UA-Platform.
  • Gedetailleerde hints zoals Sec-CH-UA-Platform-Version, Sec-CH-UA-Model en Sec-CH-UA-Full-Version-List worden pas gestuurd nadat de server erom vraagt in een Accept-CH-responseheader. Gebruik in JavaScript navigator.userAgentData.getHighEntropyValues().
  • De merkenlijst bevat een bewust nep-item („GREASE”), zoals „Not_A Brand”. Zoek naar het merk dat je nodig hebt in plaats van de hele header te vergelijken.
  • Windows 11 stuurt in de User-Agent-string nog steeds Windows NT 10.0; een Sec-CH-UA-Platform-Version van 13.0.0 of hoger wijst op Windows 11.
  • Client hints zijn een Chromium-functie, dus houd een User-Agent-fallback aan voor andere browsers. Deze parser leest alleen de User-Agent-string, geen client hints.

Meer gidsen over user agents