Lewati ke konten utama

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

Chrome di Android lama (sebelum reduksi)
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
Chrome di Android tereduksi
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.

Hint low-entropy yang dikirim browser Chromium secara default, dan header respons Accept-CH yang meminta lebih banyak
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.

Panduan user agent lainnya