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
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
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.
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.