Zum Hauptinhalt springen

User-Agent Client Hints und UA-Reduktion

Chromium-basierte Browser senden eine reduzierte User-Agent-Zeichenfolge: Die Details, die ein Gerät am genauesten identifizierten, sind auf feste Werte eingefroren, und die genauen Daten wurden in die User-Agent Client Hints (UA-CH) verlagert, die eine Website anfordern muss. Dieser Ratgeber parst eine ältere Zeichenfolge von Chrome unter Android neben einer reduzierten.

Beispiel Schritt für Schritt

Chrome unter Android, alte Zeichenfolge (vor der Reduktion)
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
Rendering-Engine
Blink
Betriebssystem
Android 12
Geräteklasse
Mobil
Gerät
Samsung SM-G991B
CPU-Architektur
Unbekannt
Bot / Crawler
Nein
Chrome unter Android, reduzierte Zeichenfolge
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
Rendering-Engine
Blink
Betriebssystem
Android 10
Geräteklasse
Mobil
Gerät
K
CPU-Architektur
Unbekannt
Bot / Crawler
Nein

Die alte Zeichenfolge legt Android 12, das Samsung-Modell SM-G991B und die vollständige Version 99.0.4844.88 offen. In der reduzierten Zeichenfolge sind Android 10 und das Modell K Platzhalter, die jedes Android-Gerät sendet, und die Version endet auf .0.0.0. Der Parser meldet genau das, was in der Zeichenfolge steht — Android 10, Modell K —, daher tragen nur noch die Hauptversion 120 und das Mobile-Token echte Information.

Low-Entropy-Hints, die ein Chromium-Browser standardmäßig sendet, und ein Accept-CH-Antwortheader, der weitere anfordert
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

Wichtige Regeln

  • Reduzierte Chrome-Zeichenfolgen behalten nur die Hauptversion; Neben-, Build- und Patch-Version sind immer 0.0.0.
  • Unter Android ist die Betriebssystemversion fest auf 10 gesetzt und das Gerätemodell durch K ersetzt. Auf dem Desktop ist die Plattform auf Werte wie Windows NT 10.0; Win64; x64, Macintosh; Intel Mac OS X 10_15_7 oder X11; Linux x86_64 eingefroren.
  • Über HTTPS senden Chromium-Browser standardmäßig drei Low-Entropy-Hints: Sec-CH-UA (Marken und Hauptversionen), Sec-CH-UA-Mobile und Sec-CH-UA-Platform.
  • Detaillierte Hints wie Sec-CH-UA-Platform-Version, Sec-CH-UA-Model und Sec-CH-UA-Full-Version-List werden erst gesendet, nachdem der Server sie in einem Accept-CH-Antwortheader angefordert hat. In JavaScript verwenden Sie navigator.userAgentData.getHighEntropyValues().
  • Die Markenliste enthält einen absichtlich gefälschten „GREASE“-Eintrag wie „Not_A Brand“. Suchen Sie nach der benötigten Marke, statt den ganzen Header zu vergleichen.
  • Windows 11 sendet in der User-Agent-Zeichenfolge weiterhin Windows NT 10.0; ein Sec-CH-UA-Platform-Version-Wert von 13.0.0 oder höher kennzeichnet Windows 11.
  • Client Hints sind eine Chromium-Funktion, halten Sie daher für andere Browser einen User-Agent-Fallback bereit. Dieser Parser liest nur die User-Agent-Zeichenfolge, keine Client Hints.

Weitere Ratgeber zu User-Agents