Bersiaplah untuk pengurangan agen pengguna Chrome

Chrome terus mengurangi informasi yang dibagikan dalam string agen penggunanya untuk membantu melindungi privasi pengguna.

Mulai Chrome 110 (Februari 2023), kami secara bertahap memperkenalkan nilai tetap untuk versi Android dan model perangkat—nilai default akan selalu berupa Android 10 pada model K. Jika Anda mengandalkan agen pengguna untuk mendeteksi versi sistem operasi pengunjung, model perangkat Android, atau versi browser mendetail, Anda mungkin perlu mengambil tindakan. Baca terus untuk mengetahui detailnya.

Agen pengguna adalah string yang memberikan informasi tentang browser pengguna dan lingkungannya—seperti mengetahui bahwa pengunjung di situs Anda menjalankan Chrome versi 110 di Android. Browser Anda mengirimkannya dalam header HTTP dan menyediakannya melalui JavaScript.

Masalah dengan string agen pengguna lengkap adalah string tersebut membagikan informasi mendetail tentang browser secara default pada setiap permintaan yang merupakan faktor utama dalam mengizinkan pelacakan lintas situs. Tujuan kami adalah mengurangi peluang untuk mengumpulkan data ini secara pasif sekaligus menyediakan API agar Anda dapat mengakses data secara aktif saat Anda membutuhkannya.

Pengurangan agen pengguna sejauh ini

Kami telah mulai menghapus beberapa data agen pengguna yang tersedia secara default, dan menggantinya dengan nilai tetap.

Mulai Chrome 101, kami mengganti nomor versi minor dengan nol, misalnya Chrome/101.3.2.1 menjadi Chrome/101.0.0.0.

Mulai Chrome 107, kami mengganti versi sistem operasi desktop dan informasi CPU dengan nilai tetap untuk platform.

MacMacintosh; Intel Mac OS X 10_15_7
WindowsWindows NT 10.0; Win64; x64
ChromeOSX11; CrOS x86_64 14541.0.0
LinuxX11; Linux x86_64

Memperbaiki versi Android dan model perangkat mulai dari Chrome 110

Mulai Chrome 110, kami secara bertahap memperkenalkan nilai tetap untuk versi Android dan model perangkat. Daripada melihat sesuatu seperti Android 13 di Pixel 7, nilai default akan selalu Android 10 di model K.

Sebelumnya: user-agent menyertakan versi Android dan model perangkat

Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.0.0 Mobile Safari/537.36

Setelah: mengurangi agen pengguna dengan versi Android dan model perangkat yang tetap

Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.0.0 Mobile Safari/537.36

Tidak ada perubahan pada format agen pengguna

Pengurangan agen pengguna mengubah nilai yang ditampilkan di agen pengguna, tetapi format tetap sama. Jika Anda hanya menggunakan agen pengguna untuk membaca jenis sistem operasi atau versi utama browser, data tersebut akan terus diperbarui seperti sebelumnya dan Anda tidak perlu melakukan tindakan apa pun.

Bagian platform, nama browser, versi utama browser, dan indikator seluler dari string agen pengguna terus diperbarui seperti sebelumnya.
Jenis sistem operasi, model perangkat, dan versi minor browser adalah nilai statis.
Semua bagian lain dari string agen pengguna tetap seperti semula.

Alternatif untuk agen pengguna

Jika saat ini Anda menggunakan data yang lebih mendetail, sebaiknya periksa apakah Anda dapat menggunakan progressive enhancement atau deteksi fitur.

Selalu ingat bahwa agen pengguna sama seperti nilai lain yang diberikan pengguna—Anda harus memvalidasinya dan tidak menganggapnya akurat. Nilai agen pengguna dapat dengan mudah diubah oleh pengguna, ekstensi, klien lain—atau mungkin tidak dikirim sama sekali. Pada umumnya, Anda dapat menayangkan konten yang berfungsi kepada pengunjung tanpa data agen pengguna.

Meminta data mendetail dengan Petunjuk Klien Agen Pengguna

Ada banyak alasan valid untuk mengakses data agen pengguna yang mendetail, seperti menyediakan konten khusus perangkat, fungsi anti-penipuan, atau logging terperinci. Jika memerlukan data yang lebih mendetail, Anda dapat menggunakan API Client Hints Agen Pengguna (UA-CH) untuk mengaksesnya. Seperti agen pengguna, UA-CH tersedia melalui header HTTP atau JavaScript.

Anda mungkin telah melihat header default yang dikirim dengan awalan Sec-CH-UA- yang memberi tahu Anda browser, versi utamanya, sistem operasi, dan apakah browser tersebut adalah perangkat seluler.

Header permintaan Petunjuk Klien Agen Pengguna default dari Chrome:

Sec-CH-UA: "Chromium";v="110", "Not A(Brand";v="24", "Google Chrome";v="110"
Sec-CH-UA-Mobile: ?1
Sec-CH-UA-Platform: "Android"

Anda dapat menggunakan header Accept-CH dalam respons untuk meminta data lainnya. Dalam hal ini, Anda dapat meminta Sec-CH-UA-Platform-Version dan Sec-CH-UA-Model untuk mendapatkan kembali versi Android dan jenis perangkat tersebut dalam permintaan berikutnya.

Header respons dari server Anda yang menentukan versi dan model platform:

Accept-CH:
  Sec-CH-UA-Platform-Version,
  Sec-CH-UA-Model

Meminta header kembali dari Chrome, termasuk versi Android dan nama model:

Sec-CH-UA-Platform-Version: "13.0.0"
Sec-CH-UA-Model: "Pixel 7"

Anda dapat melakukan hal yang sama di JavaScript dengan memanggil getHighEntropyValues() di userAgentData API, yang meneruskan array nilai yang Anda inginkan: platformVersion dan model. Tindakan ini akan menampilkan promise dengan objek yang berisi nilai tertentu.

navigator.userAgentData
 .getHighEntropyValues(
   ['platformVersion', 'model']
 ).then(ua => { console.log(ua)
 });

{
  "platformVersion": "13.0.0",
  "model": "Pixel 7"
}

Permintaan lintas origin atau awal

Jika memiliki resource lintas origin di halaman yang memerlukan nilai ini, Anda dapat mengizinkan akses melalui header HTTP Permissions-Policy atau menggunakan tag meta Delegate-CH di HTML.

Jika situs Anda perlu memiliki nilai sensitif ini pada permintaan tingkat teratas pertama, Anda dapat menggunakan header HTTP Critical-CH yang akan memberi tahu browser untuk mencoba kembali permintaan awalnya dengan menambahkan petunjuk tambahan tersebut. Hal ini mungkin berguna untuk sistem lama yang sulit diupdate, tetapi idealnya Anda tidak boleh mengandalkan nilai sensitif ini untuk menayangkan HTML awal.

Pelajari lebih lanjut

Untuk melihat cara kerja string agen pengguna yang dipersingkat, lihat hal berikut:

  • Lihat string agen pengguna yang dipersingkat untuk perangkat Anda di goo.gle/reduced-ua-demo
  • Lihat semua Petunjuk Klien Agen Pengguna header JavaScript dan HTTP untuk perangkat Anda di goo.gle/ua-ch-demo
  • Kirim string agen pengguna yang dikurangi di browser Anda dengan mengaktifkan flag Chrome #reduce-user-agent.

Anda juga masih dapat mendaftar untuk uji coba origin Pengurangan Agen Pengguna guna menerima agen pengguna yang dikurangi di situs Anda, meskipun kami akan mengakhiri uji coba ini pada awal Maret karena kami terus meningkatkan pengiriman agen pengguna yang dikurangi secara default.

Kami memiliki referensi lainnya di halaman landing pengurangan agen pengguna dan Anda juga dapat melaporkan masalah di repo GitHub pengurangan agen pengguna khusus kami.