User-Agent Client Hints dan reduksi UA
Browser berbasis Chromium mengirim string User-Agent yang tereduksi: detail yang paling presisi mengidentifikasi perangkat dibekukan ke nilai tetap, dan data presisinya dipindahkan ke User-Agent Client Hints (UA-CH), yang harus diminta oleh situs. Panduan ini mem-parse string Chrome di Android versi lama berdampingan dengan versi tereduksi.
Contoh praktis
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
- Mesin
- Blink
- Sistem operasi
- Android 12
- Kelas perangkat
- Mobile
- Perangkat
- Samsung SM-G991B
- Arsitektur CPU
- Tidak diketahui
- Bot / crawler
- Tidak
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
- Mesin
- Blink
- Sistem operasi
- Android 10
- Kelas perangkat
- Mobile
- Perangkat
- K
- Arsitektur CPU
- Tidak diketahui
- Bot / crawler
- Tidak
String lama memperlihatkan Android 12, model Samsung SM-G991B, dan versi lengkap 99.0.4844.88. Pada string tereduksi, Android 10 dan model K adalah placeholder yang dikirim setiap perangkat Android, dan versinya berakhiran .0.0.0. Parser melaporkan persis apa yang tertulis di string — Android 10, model K — sehingga hanya versi mayor 120 dan token Mobile yang masih membawa informasi nyata.
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
Aturan utama
- String Chrome tereduksi hanya mempertahankan versi mayor; minor, build, dan patch selalu 0.0.0.
- Di Android, versi OS ditetapkan ke 10 dan model perangkat diganti dengan K. Di desktop, platform dibekukan ke nilai seperti Windows NT 10.0; Win64; x64, Macintosh; Intel Mac OS X 10_15_7, atau X11; Linux x86_64.
- Melalui HTTPS, browser Chromium mengirim tiga hint low-entropy secara default: Sec-CH-UA (brand dan versi mayor), Sec-CH-UA-Mobile, dan Sec-CH-UA-Platform.
- Hint terperinci seperti Sec-CH-UA-Platform-Version, Sec-CH-UA-Model, dan Sec-CH-UA-Full-Version-List hanya dikirim setelah server memintanya dalam header respons Accept-CH. Di JavaScript, gunakan navigator.userAgentData.getHighEntropyValues().
- Daftar brand menyertakan entri “GREASE” yang sengaja dibuat palsu, misalnya “Not_A Brand”. Cari brand yang Anda butuhkan alih-alih membandingkan seluruh header.
- Windows 11 tetap mengirim Windows NT 10.0 dalam string User-Agent; Sec-CH-UA-Platform-Version bernilai 13.0.0 atau lebih tinggi menandakan Windows 11.
- Client hints adalah fitur Chromium, jadi tetap sediakan fallback User-Agent untuk browser lain. Parser ini hanya membaca string User-Agent, bukan client hints.