Pengurangan Agen Pengguna adalah upaya untuk mengurangi platform pelacakan sidik jari pasif dengan mengurangi informasi dalam string Agen Pengguna (UA) hanya ke merek dan versi penting browser, perbedaan desktop atau seluler, dan platform tempatnya berjalan. Saat ini, string UA dibagikan di setiap permintaan HTTP dan ditampilkan dalam JavaScript ke semua resource yang dimuat oleh browser. File ini berisi informasi penting tentang browser, platform tempatnya berjalan, dan kemampuannya. Petunjuk Klien Agen Pengguna (UA-CH) dapat memberikan informasi yang sama dengan string UA lengkap, sekaligus memungkinkan situs hanya meminta informasi UA yang mereka butuhkan.
Mulai Chrome 95 Beta, kami akan membuka uji coba origin untuk Pengurangan Agen Pengguna agar situs dapat memilih untuk menerima string UA yang dikurangi sekarang. Hal ini akan memungkinkan situs menemukan dan memperbaiki masalah sebelum UA yang dikurangi menjadi perilaku default di Chrome (pengurangan ini direncanakan akan dimulai pada kuartal kedua 2022). Jika Anda ingin menguji uji coba origin pada pengguna 95 Beta sebelum diluncurkan ke populasi stabil, pastikan untuk ikut serta dan menguji sebelum tanggal rilis untuk Chrome 95 (saat ini dijadwalkan untuk 19 Oktober 2021).
Berikut adalah ringkasan uji coba origin dan hal yang akan terjadi. Seperti biasa, kami menerima masukan atau masalah apa pun selama uji coba ini di repositori GitHub Pengurangan UA.
Apa yang dimaksud dengan User-Agent?
String User-Agent (UA) dibagikan di setiap permintaan HTTP dan ditampilkan dalam JavaScript ke semua resource yang dimuat oleh browser. Saat ini, file ini berisi informasi penting tentang browser dan platform tempatnya berjalan.
Mengapa Agen Pengguna dikurangi?
Pengurangan Agen Pengguna adalah upaya untuk mengurangi platform pelacakan sidik jari pasif di browser Chrome yang pertama kali diumumkan pada Januari 2020. Dengan mengurangi informasi dalam string UA menjadi hanya merek dan versi browser yang signifikan, perbedaan desktop atau seluler, dan platform tempatnya berjalan, akan lebih sulit untuk mengidentifikasi setiap pengguna.
Apa artinya ini bagi developer web?
Situs harus bersiap untuk menerima string UA yang dipersingkat dan mempertimbangkan untuk berpartisipasi dalam uji coba origin (dijelaskan di bawah). Nilai agen pengguna yang dikurangi akan muncul di:
- Header permintaan HTTP
User-Agent
- Pengambil JavaScript
navigator.userAgent
- Pengambil JavaScript
navigator.platform
- Pengambil JavaScript
navigator.appVersion
Untuk menerima lebih banyak informasi klien daripada yang dibagikan oleh Agen Pengguna yang dikurangi, situs harus dimigrasikan ke API Client Hints Agen Pengguna baru. Untuk mengetahui detail selengkapnya tentang strategi migrasi, lihat Bermigrasi ke Client Hints Agen Pengguna.
Rencana pengurangan Agen Pengguna saat ini tidak mencakup iOS dan WebView, sehingga platform tersebut akan terus mendapatkan string agen pengguna lengkap. Alasan utama adalah platform ini belum menerapkan Client Hints Agen Pengguna.
Bagaimana cara kerja uji coba asal ini?
Uji coba origin ini sedikit berbeda dengan uji coba origin standar. Uji coba origin standar hanya dapat mengontrol perilaku dalam respons (misalnya, mengontrol akses ke API dalam JavaScript respons). Dalam uji coba ini, sasaran kami adalah tidak hanya mengubah string UA yang disediakan di Javascript API, tetapi juga mengubah header User-Agent yang dikirim pada permintaan HTTP.
Agar dapat melakukannya, kita menentukan petunjuk klien sementara, bernama
Sec-CH-UA-Reduced
, yang kehadirannya dalam permintaan akan menunjukkan bahwa nilai header
User-Agent berisi string UA yang dikurangi. Petunjuk klien Sec-CH-UA-Reduced
hanya akan dikirim (beserta string UA yang dipersingkat) jika token uji coba origin
valid dan petunjuk klien Sec-CH-UA-Reduced
tidak akan berfungsi setelah uji coba
origin berakhir. Perlu diingat bahwa permintaan navigasi pertama akan tetap menerima
string Agen Pengguna yang tidak dikurangi, kecuali jika Anda menetapkan Critical-CH
header
.
Permintaan sub-resource ke origin yang sama akan otomatis mengirim string User-Agent yang sama dengan permintaan level teratas yang dikirim. Permintaan sub-resource ke origin pihak ketiga juga akan mengirimkan string Agen Pengguna yang sama dengan permintaan tingkat teratas, termasuk string UA yang dikurangi jika token uji coba origin valid, asalkan kebijakan izin mengizinkannya.
Bagaimana cara berpartisipasi dalam uji coba origin Pengurangan Agen Pengguna?
Untuk mendaftar ke uji coba origin dan mendapatkan token untuk domain Anda, buka halaman Uji Coba untuk Pengurangan Agen Pengguna.
Perbarui header respons HTTP Anda:
- Tambahkan
Origin-Trial: <ORIGIN TRIAL TOKEN>
ke header respons HTTP Anda, dengan <ORIGIN TRIAL TOKEN
> berisi token yang Anda dapatkan saat mendaftar untuk uji coba origin. - Tambahkan
Accept-CH: Sec-CH-UA-Reduced
ke header respons HTTP Anda. - Menetapkan
Accept-CH
hanya akan menyebabkan string Agen Pengguna yang dikurangi dikirim pada permintaan berikutnya ke origin; untuk mengirim ulang permintaan navigasi pertama dengan string Agen Pengguna yang dikurangi, tambahkanCritical-CH: Sec-CH-UA-Reduced
ke header respons HTTP, selain headerAccept-CH
danOrigin-Trial
. - Catatan: Jika header respons berisi token
Origin-Trial
danAccept-CH: Sec-CH-UA-Reduced
yang valid, semua permintaan sub-resource (misalnya, untuk gambar atau stylesheet) dan subnavigasi (misalnya, iframe) akan mengirim string UA yang dipersingkat, meskipun asal permintaan tersebut tidak terdaftar dalam uji coba origin.
- Tambahkan
Muat situs Anda di Chrome M95 (atau yang lebih baru) dan mulai menerima string UA yang dipersingkat.
Kirimkan masalah atau masukan apa pun ke repositori GitHub Pengurangan UA.
Lihat https://uar-ot.glitch.me/ untuk melihat demonstrasi sederhana uji coba origin (beserta kode sumbernya).
Bagaimana cara berpartisipasi dalam uji coba origin sebagai penyematan pihak ketiga?
Mulai Chrome 96, penyematan pihak ketiga (misalnya, iframe di dalam situs lain) dapat berpartisipasi dalam uji coba origin tanpa mengharuskan situs tingkat teratas untuk terdaftar.
Untuk mendaftar sebagai penyematan pihak ketiga:
- Buka Uji Coba untuk Pengurangan Agen Pengguna dan klik Daftar.
- Saat membuat token, pastikan untuk mencentang kotak
Third-party matching
. - Untuk menerima header Agen Pengguna yang dipersingkat dari penyematan pihak ketiga, perbarui header respons HTTP.
- Untuk menerima string Agen Pengguna yang dipersingkat di API JavaScript, token uji coba harus dimasukkan melalui JavaScript.
Beberapa poin penting tentang menjalankan uji coba origin pada penyematan pihak ketiga:
+ Critical-CH
tidak dapat ditentukan untuk penyematan pihak ketiga, sehingga navigasi
pertama tidak akan mengirim string UA yang dipersingkat, meskipun permintaan sub-resource
penyematan pihak ketiga akan mengirim string UA yang dipersingkat.
+ Jika uji coba origin divalidasi untuk origin penyematan pihak ketiga,
permintaan berikutnya ke origin yang sama di navigasi tingkat atas akan
mengirimkan string UA yang dikurangi. Oleh karena itu, sebaiknya tingkatkan
partisipasi dalam uji coba origin untuk permintaan tingkat atas dan permintaan
embed secara bersamaan.
+ Jika agen pengguna telah menonaktifkan cookie pihak ketiga, uji coba origin
tidak akan berfungsi untuk header User-Agent
dalam permintaan penyematan
pihak ketiga, meskipun Javascript API akan tetap mendapatkan string UA
yang dikurangi.
Bagaimana cara memvalidasi bahwa uji coba origin berfungsi?
Untuk memvalidasi bahwa uji coba origin berfungsi, periksa header permintaan dan pastikan hal berikut:
- Header Agen Pengguna berisi versi yang dikurangi. Lihat daftar contoh string UA yang dipersingkat ini.
Cara mudah untuk mengetahuinya adalah string versi minor Chrome berisi
0.0.0
. - Header
Sec-CH-UA-Reduced
ditetapkan ke?1
.
Header respons awal yang berisi token uji coba origin akan terlihat seperti:

Header permintaan berikutnya yang berisi string UA yang dipersingkat akan terlihat seperti:

Bagaimana cara berhenti berpartisipasi dalam uji coba origin Pengurangan Agen Pengguna?
Pada waktu tertentu selama uji coba, Anda dapat berhenti berpartisipasi dan menerima string Agen Pengguna lengkap. Untuk berhenti berpartisipasi:
- Kirim header
Accept-CH
dalam respons HTTP yang tidak menyertakanSec-CH-UA-Reduced
. Catatan:Accept-CH
dengan nilai kosong adalah cara yang valid untuk melakukannya jika situs Anda tidak meminta Client Hint lain. - Hapus header
Origin-Trial
untuk uji coba Pengurangan Agen Pengguna dari respons HTTP Anda. - Jika ditetapkan, hapus
Sec-CH-UA-Reduced
dari headerCritical-CH
di respons HTTP Anda.
Berapa lama uji coba origin akan berlangsung?
Uji coba origin Pengurangan UA akan berjalan setidaknya selama enam bulan, yang sesuai dengan sekitar enam tonggak pencapaian Chrome. Uji coba origin akan muncul di M95 dan berakhir pada M101. Pada saat itu, Chrome akan mengevaluasi masukan dari uji coba origin sebelum melanjutkan pengiriman string Agen Pengguna yang dikurangi secara bertahap sesuai dengan rencana peluncuran. Jika situs memerlukan waktu lebih lama, situs tersebut dapat memilih untuk mengikuti uji coba asal penghentian penggunaan berikutnya, yang akan memungkinkan situs tersebut mengakses string UA lengkap setidaknya selama enam bulan lagi. Kami akan memublikasikan detail selengkapnya tentang uji coba penghentian penggunaan saat sudah siap.
Bagaimana cara memberikan masukan untuk uji coba origin Pengurangan Agen Pengguna?
Kirimkan masalah atau masukan apa pun ke repositori GitHub Pengurangan UA.