User-Agent Client Hints och UA-reducering
Chromium-baserade webbläsare skickar en reducerad User-Agent-sträng: detaljerna som identifierade en enhet mest exakt är frysta till fasta värden, och de exakta uppgifterna har flyttats till User-Agent Client Hints (UA-CH), som en webbplats måste begära. Den här guiden parsar en äldre sträng för Chrome på Android bredvid en reducerad.
Genomgånget exempel
Mozilla/5.0 (Linux; Android 12; SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.88 Mobile Safari/537.36
- Webbläsare
- Chrome 99.0.4844.88
- Motor
- Blink
- Operativsystem
- Android 12
- Enhetsklass
- Mobil
- Enhet
- Samsung SM-G991B
- CPU-arkitektur
- Okänd
- Bot / crawler
- Nej
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36
- Webbläsare
- Chrome 120.0.0.0
- Motor
- Blink
- Operativsystem
- Android 10
- Enhetsklass
- Mobil
- Enhet
- K
- CPU-arkitektur
- Okänd
- Bot / crawler
- Nej
Den äldre strängen avslöjar Android 12, Samsung-modellen SM-G991B och den fullständiga versionen 99.0.4844.88. I den reducerade strängen är Android 10 och modellen K platshållare som alla Android-enheter skickar, och versionen slutar på .0.0.0. Parsern rapporterar exakt vad strängen säger — Android 10, modell K — så bara huvudversionen 120 och Mobile-token bär fortfarande verklig 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
Viktiga regler
- Reducerade Chrome-strängar behåller bara huvudversionen; minor, build och patch är alltid 0.0.0.
- På Android är OS-versionen låst till 10 och enhetsmodellen ersätts med K. På datorer är plattformen frusen till värden som Windows NT 10.0; Win64; x64, Macintosh; Intel Mac OS X 10_15_7 eller X11; Linux x86_64.
- Över HTTPS skickar Chromium-webbläsare tre lågentropi-hints som standard: Sec-CH-UA (varumärken och huvudversioner), Sec-CH-UA-Mobile och Sec-CH-UA-Platform.
- Detaljerade hints som Sec-CH-UA-Platform-Version, Sec-CH-UA-Model och Sec-CH-UA-Full-Version-List skickas först efter att servern begärt dem i en Accept-CH-svarsheader. I JavaScript använder du navigator.userAgentData.getHighEntropyValues().
- Varumärkeslistan innehåller en avsiktligt falsk ”GREASE”-post, till exempel ”Not_A Brand”. Leta efter det varumärke du behöver i stället för att jämföra hela headern.
- Windows 11 skickar fortfarande Windows NT 10.0 i User-Agent-strängen; en Sec-CH-UA-Platform-Version på 13.0.0 eller högre identifierar Windows 11.
- Client hints är en Chromium-funktion, så behåll en reservlösning baserad på User-Agent för andra webbläsare. Den här parsern läser bara User-Agent-strängen, inte client hints.