Pengurangan Agen Pengguna adalah upaya untuk mengurangi platform pelacakan sidik jari pasif dengan mengurangi informasi dalam string User-Agent (UA) menjadi hanya merek dan versi signifikan browser, perbedaan desktop atau seluler, dan platform yang menjalankannya. Saat ini, string UA dibagikan di setiap permintaan HTTP dan ditampilkan di JavaScript ke semua resource yang dimuat oleh browser. Halaman ini berisi informasi signifikan tentang browser, platform yang menjalankannya, dan kemampuannya. Petunjuk Klien Agen Pengguna (UA-CH) dapat memberikan informasi yang sama dengan string UA lengkap, sekaligus mengizinkan situs untuk hanya meminta informasi UA yang diperlukan.
Mulai Chrome 95 Beta, kami akan membuka uji coba origin untuk Pengurangan Agen Pengguna agar situs dapat ikut serta menerima string UA yang dikurangi sekarang. Dengan demikian, situs dapat menemukan dan memperbaiki masalah sebelum UA yang dikurangi menjadi perilaku default di Chrome (pengurangan direncanakan akan dimulai pada kuartal kedua tahun 2022). Jika Anda ingin menguji uji coba origin pada 95 pengguna Beta sebelum diluncurkan ke populasi yang stabil, pastikan Anda ikut serta dan melakukan pengujian sebelum tanggal rilis untuk Chrome 95 (saat ini dijadwalkan untuk 19 Oktober 2021).
Berikut adalah ringkasan uji coba origin dan proses selanjutnya, dan seperti biasa, kami menantikan masukan atau masalah apa pun selama uji coba ini di repositori GitHub UA Reduction.
Apa itu Agen Pengguna?
String User-Agent (UA) dibagikan pada setiap permintaan HTTP dan diekspos dalam JavaScript ke semua resource yang dimuat oleh browser. Saat ini, ekstensi ini berisi informasi penting tentang browser dan platform yang menjalankannya.
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 signifikan browser, perbedaan desktop atau selulernya, serta platform tempatnya dijalankan, semakin sulit untuk mengidentifikasi masing-masing pengguna.
Apa pengaruhnya bagi developer web?
Situs harus bersiap untuk menerima string UA yang lebih sedikit dan mempertimbangkan untuk berpartisipasi dalam uji coba origin (dijelaskan di bawah). Pengurangan nilai agen pengguna 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 Client-Hints API Agen Pengguna baru. Untuk detail selengkapnya tentang strategi migrasi, lihat Bermigrasi ke Petunjuk Klien Agen Pengguna.
Paket pengurangan Agen Pengguna saat ini tidak menyertakan iOS dan WebView, sehingga platform tersebut akan terus mendapatkan string agen pengguna lengkap. Alasan utamanya adalah karena platform ini belum menerapkan Petunjuk Klien Agen Pengguna.
Bagaimana cara kerja uji coba origin ini?
Uji coba origin ini sedikit berbeda dari uji coba origin standar. Uji coba origin standar hanya dapat mengontrol perilaku dalam respons (misalnya, mengontrol akses ke API di JavaScript respons). Dalam uji coba ini, tujuan kami adalah untuk tidak hanya mengubah string UA yang disediakan dalam JavaScript API, tetapi juga untuk mengubah header Agen Pengguna yang dikirim dalam permintaan HTTP.
Agar dapat melakukannya, kami menentukan petunjuk klien sementara, bernama Sec-CH-UA-Reduced
, yang kehadirannya dalam permintaan akan menunjukkan bahwa nilai header Agen Pengguna berisi string UA yang dikurangi. Petunjuk klien Sec-CH-UA-Reduced
hanya akan dikirim (beserta string UA yang dikurangi) 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 masih akan menerima
string Agen Pengguna yang tidak dikurangi, kecuali jika Anda menetapkan Critical-CH
header
.
Permintaan subresource ke asal yang sama akan otomatis mengirim string Agen Pengguna yang sama dengan permintaan tingkat atas yang dikirim. Permintaan subresource ke origin pihak ketiga juga akan mengirim string Agen Pengguna yang sama dengan permintaan tingkat atas, 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, dengan <ORIGIN TRIAL TOKEN
> berisi token yang Anda dapatkan saat mendaftar ke uji coba origin. - Tambahkan
Accept-CH: Sec-CH-UA-Reduced
ke header respons HTTP Anda. - Menyetel
Accept-CH
hanya akan menyebabkan string Agen Pengguna yang dikurangi dikirim pada permintaan berikutnya ke asal. 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 subresource (misalnya, untuk gambar atau stylesheet) dan subnavigasi (misalnya, iframe) akan mengirim string UA yang dikurangi, meskipun asal permintaan tersebut tidak terdaftar dalam uji coba origin.
- Tambahkan
Muat situs Anda di Chrome M95 (atau yang lebih baru) dan mulai terima string UA yang dikurangi.
Kirim masalah atau masukan apa pun ke repositori GitHub UA Reduction.
Lihat https://uar-ot.glitch.me/ untuk menunjukkan demonstrasi sederhana tentang uji coba origin (beserta kode sumbernya).
Bagaimana cara berpartisipasi dalam uji coba origin sebagai sematan pihak ketiga?
Mulai Chrome 96, sematan pihak ketiga (misalnya, iframe di dalam situs lain) dapat berpartisipasi dalam uji coba origin tanpa harus mendaftarkan situs tingkat atas.
Untuk mendaftar sebagai sematan pihak ketiga:
- Buka Trial for User Agent Reduction, lalu klik Register.
- Saat membuat token, pastikan untuk memilih kotak centang
Third-party matching
. - Untuk menerima header Agen Pengguna yang dikurangi dari sematan pihak ketiga, perbarui header respons HTTP.
- Untuk menerima string Agen Pengguna yang dikurangi dalam API JavaScript, token uji coba harus dimasukkan melalui JavaScript.
Beberapa poin penting tentang menjalankan uji coba origin pada sematan pihak ketiga:
+ Critical-CH
tidak dapat ditentukan untuk sematan pihak ketiga, sehingga navigasi
pertama tidak akan mengirimkan string UA yang dikurangi, meskipun permintaan subresource
dari sematan pihak ketiga akan mengirim string UA yang dikurangi.
+ Jika uji coba origin divalidasi untuk origin sematan pihak ketiga,
permintaan berikutnya ke origin yang sama di navigasi tingkat atas akan
mengirimkan string UA yang dikurangi. Karena alasan ini, sebaiknya tingkatkan
partisipasi dalam uji coba origin untuk level teratas dan permintaan
sematan bersama-sama.
+ Jika agen pengguna telah menonaktifkan cookie pihak ketiga, uji coba origin tidak akan berfungsi untuk header User-Agent
dalam permintaan penyematan pihak ketiga, meskipun API JavaScript 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 dikurangi ini.
Cara mudah untuk mengetahuinya adalah bahwa string versi minor Chrome berisi
0.0.0
. - Header
Sec-CH-UA-Reduced
disetel ke?1
.
Header respons awal yang berisi token uji coba origin akan terlihat seperti ini:
Header permintaan berikutnya yang berisi string UA yang dikurangi akan terlihat seperti ini:
Bagaimana cara berhenti berpartisipasi dalam uji coba origin Pengurangan Agen Pengguna?
Anda dapat berhenti berpartisipasi dan menerima string Agen Pengguna lengkap selama periode waktu tertentu selama uji coba. 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 Petunjuk Klien lainnya. - 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 setara dengan sekitar enam versi Chrome. Uji coba origin akan muncul di M95 dan berakhir pada M101. Setelah itu, Chrome akan mengevaluasi masukan dari uji coba origin sebelum melanjutkan pengiriman string Agen Pengguna yang dikurangi secara bertahap sesuai dengan rencana peluncuran. Jika memerlukan waktu lebih lama, situs dapat ikut serta dalam uji coba origin penghentian penggunaan berikutnya, yang memungkinkan situs mengakses string UA lengkap setidaknya selama enam bulan ke depan. Kami akan memublikasikan detail selengkapnya tentang uji coba penghentian penggunaan saat sudah siap.
Bagaimana cara memberikan masukan untuk uji coba origin Pengurangan Agen Pengguna?
Kirim masalah atau masukan apa pun ke repositori GitHub UA Reduction.