Giảm tác nhân người dùng là một nỗ lực nhằm giảm các nền tảng vân tay thụ động bằng cách giảm thông tin trong chuỗi Tác nhân người dùng (UA) chỉ còn thương hiệu và phiên bản quan trọng của trình duyệt, sự khác biệt giữa máy tính hoặc thiết bị di động và nền tảng mà trình duyệt đang chạy. Hiện tại, chuỗi UA được chia sẻ trên mọi yêu cầu HTTP và hiển thị trong JavaScript cho tất cả tài nguyên mà trình duyệt tải. Tệp này chứa thông tin quan trọng về trình duyệt, nền tảng mà trình duyệt đang chạy và các tính năng của trình duyệt. Gợi ý ứng dụng tác nhân người dùng (UA-CH) có thể cung cấp thông tin giống như chuỗi UA đầy đủ, đồng thời cho phép các trang web chỉ yêu cầu thông tin UA mà họ cần.
Kể từ phiên bản thử nghiệm Chrome 95, chúng tôi sẽ mở ra thử nghiệm theo nguyên gốc cho tính năng Giảm mã nhận dạng người dùng để cho phép các trang web chọn nhận chuỗi UA rút gọn ngay bây giờ. Điều này sẽ cho phép các trang web phát hiện và khắc phục vấn đề trước khi UA bị giảm trở thành hành vi mặc định trong Chrome (việc giảm này dự kiến sẽ bắt đầu từ quý 2 năm 2022). Nếu bạn muốn thử nghiệm phiên bản thử nghiệm gốc trên người dùng Chrome 95 Beta trước khi phiên bản này ra mắt cho người dùng phiên bản ổn định, hãy nhớ chọn tham gia và thử nghiệm trước ngày phát hành Chrome 95 (hiện được lên lịch vào ngày 19 tháng 10 năm 2021).
Dưới đây là thông tin tổng quan về thử nghiệm theo nguyên gốc và những điều cần biết. Như mọi khi, chúng tôi hoan nghênh ý kiến phản hồi hoặc mọi vấn đề trong suốt quá trình thử nghiệm này trong kho lưu trữ GitHub về việc Giảm UA.
User-Agent là gì?
Chuỗi Tác nhân người dùng (UA) được chia sẻ trên mọi yêu cầu HTTP và hiển thị trong JavaScript cho tất cả tài nguyên do trình duyệt tải. Hiện tại, tệp này chứa thông tin quan trọng về trình duyệt và nền tảng mà trình duyệt đang chạy.
Tại sao User-Agent bị giảm?
Giảm User-Agent là một nỗ lực nhằm giảm các nền tảng vân tay thụ động trong trình duyệt Chrome. Nỗ lực này được công bố lần đầu vào tháng 1 năm 2020. Bằng cách giảm thông tin trong chuỗi UA chỉ còn thương hiệu và phiên bản quan trọng của trình duyệt, sự khác biệt giữa phiên bản dành cho máy tính hoặc thiết bị di động và nền tảng mà trình duyệt đang chạy, sẽ khó xác định từng người dùng hơn.
Điều này có ý nghĩa gì đối với nhà phát triển web?
Các trang web nên chuẩn bị để nhận chuỗi UA rút gọn và cân nhắc tham gia thử nghiệm theo nguyên gốc (chi tiết bên dưới). Các giá trị tác nhân người dùng đã giảm sẽ xuất hiện trong:
- Tiêu đề yêu cầu HTTP
User-Agent
- Phương thức getter JavaScript
navigator.userAgent
- Phương thức getter JavaScript
navigator.platform
- Phương thức getter JavaScript
navigator.appVersion
Để nhận được nhiều thông tin hơn về ứng dụng so với thông tin mà User-Agent rút gọn chia sẻ, các trang web sẽ cần di chuyển sang API Gợi ý cho ứng dụng User-Agent mới. Để biết thêm thông tin chi tiết về các chiến lược di chuyển, hãy xem phần Di chuyển sang Gợi ý cho ứng dụng tác nhân người dùng.
Các kế hoạch giảm thông tin trong chuỗi Tác nhân người dùng hiện không bao gồm iOS và WebView, do đó, các nền tảng đó sẽ tiếp tục nhận được chuỗi tác nhân người dùng đầy đủ. Lý do chính là các nền tảng này chưa triển khai Gợi ý cho ứng dụng của User-Agent.
Chương trình thử nghiệm theo nguồn gốc này hoạt động như thế nào?
Bản dùng thử theo nguyên gốc này có chút khác biệt so với bản dùng thử theo nguyên gốc tiêu chuẩn. Các thử nghiệm gốc tiêu chuẩn chỉ có thể kiểm soát hành vi trong phản hồi (ví dụ: kiểm soát quyền truy cập vào một API trong Javascript của phản hồi). Trong thử nghiệm này, mục tiêu của chúng ta là không chỉ sửa đổi chuỗi UA được cung cấp trong API JavaScript mà còn sửa đổi tiêu đề User-Agent được gửi trên yêu cầu HTTP.
Để có thể làm việc này, chúng ta sẽ xác định một gợi ý tạm thời cho ứng dụng, có tên là Sec-CH-UA-Reduced
. Sự hiện diện của gợi ý này trong một yêu cầu sẽ cho biết rằng giá trị tiêu đề User-Agent chứa chuỗi UA đã rút gọn. Gợi ý ứng dụng Sec-CH-UA-Reduced
chỉ được gửi (cùng với chuỗi UA rút gọn) nếu mã thông báo dùng thử gốc hợp lệ và gợi ý ứng dụng Sec-CH-UA-Reduced
sẽ không hoạt động sau khi bản dùng thử gốc hết hạn. Xin lưu ý rằng yêu cầu điều hướng đầu tiên sẽ vẫn nhận được chuỗi Tác nhân người dùng chưa được rút gọn, trừ phi bạn đặt Critical-CH
header
.
Các yêu cầu tài nguyên phụ đến cùng một nguồn gốc sẽ tự động gửi cùng một chuỗi User-Agent như yêu cầu cấp cao nhất đã gửi. Các yêu cầu về tài nguyên phụ đến nguồn gốc của bên thứ ba cũng sẽ gửi cùng một chuỗi User-Agent như yêu cầu cấp cao nhất, bao gồm cả chuỗi UA rút gọn nếu mã thông báo dùng thử nguồn gốc hợp lệ, miễn là chính sách về quyền cho phép.
Làm cách nào để tham gia thử nghiệm giảm thiểu tác nhân người dùng theo nguồn gốc?
Để đăng ký dùng thử phiên bản gốc và nhận mã thông báo cho các miền của bạn, hãy truy cập vào trang Thử nghiệm tính năng Giảm thiểu tác nhân người dùng.
Cập nhật tiêu đề phản hồi HTTP:
- Thêm
Origin-Trial: <ORIGIN TRIAL TOKEN>
vào tiêu đề phản hồi HTTP, trong đó <ORIGIN TRIAL TOKEN
> chứa mã thông báo bạn nhận được khi đăng ký dùng thử phiên bản gốc. - Thêm
Accept-CH: Sec-CH-UA-Reduced
vào tiêu đề phản hồi HTTP. - Việc đặt
Accept-CH
sẽ chỉ khiến chuỗi Tác nhân người dùng rút gọn được gửi trong các yêu cầu tiếp theo đến nguồn gốc; để gửi lại yêu cầu điều hướng đầu tiên bằng chuỗi Tác nhân người dùng rút gọn, hãy thêmCritical-CH: Sec-CH-UA-Reduced
vào tiêu đề phản hồi HTTP, ngoài các tiêu đềAccept-CH
vàOrigin-Trial
. - Lưu ý: Nếu tiêu đề phản hồi chứa mã thông báo
Origin-Trial
vàAccept-CH: Sec-CH-UA-Reduced
hợp lệ, thì tất cả các yêu cầu tài nguyên phụ (ví dụ: đối với hình ảnh hoặc kiểu phông chữ) và điều hướng phụ (ví dụ: iframe) sẽ gửi chuỗi UA rút gọn, ngay cả khi nguồn gốc của các yêu cầu đó không được đăng ký trong thử nghiệm nguồn gốc.
- Thêm
Tải trang web của bạn trong Chrome M95 (trở lên) và bắt đầu nhận được chuỗi UA rút gọn.
Hãy gửi mọi vấn đề hoặc ý kiến phản hồi đến kho lưu trữ GitHub về việc Giảm UA.
Hãy xem https://uar-ot.glitch.me/ để xem minh hoạ đơn giản về thử nghiệm gốc (cùng với mã nguồn).
Làm cách nào để tham gia thử nghiệm về nguồn gốc với tư cách là một phần nhúng của bên thứ ba?
Kể từ Chrome 96, các nội dung nhúng của bên thứ ba (ví dụ: iframe bên trong một trang web khác) có thể tham gia thử nghiệm theo nguyên gốc mà không cần đăng ký trang web cấp cao nhất.
Cách đăng ký làm bên thứ ba nhúng:
- Truy cập vào trang Thử nghiệm tính năng Giảm thiểu tác nhân người dùng rồi nhấp vào Đăng ký.
- Khi tạo mã thông báo, hãy nhớ chọn hộp đánh dấu
Third-party matching
. - Để nhận tiêu đề User-Agent rút gọn từ nội dung nhúng của bên thứ ba, hãy cập nhật tiêu đề phản hồi HTTP.
- Để nhận chuỗi Tác nhân người dùng đã rút gọn trong API Javascript, bạn phải chèn mã thông báo thử nghiệm thông qua Javascript.
Một số điểm quan trọng về việc chạy thử nghiệm gốc trên các phần nhúng của bên thứ ba:
+ Không thể chỉ định Critical-CH
cho các phần nhúng của bên thứ ba, vì vậy, thao tác điều hướng đầu tiên sẽ không gửi chuỗi UA rút gọn, mặc dù các yêu cầu tài nguyên phụ của phần nhúng bên thứ ba sẽ gửi chuỗi UA rút gọn.
+ Nếu thử nghiệm nguồn gốc được xác thực cho nguồn gốc của một phần nhúng của bên thứ ba, thì các yêu cầu tiếp theo đến cùng một nguồn gốc trong một thao tác điều hướng cấp cao nhất sẽ gửi chuỗi UA rút gọn. Vì lý do này, bạn nên tăng cường tham gia thử nghiệm gốc cho cả yêu cầu cấp cao nhất và yêu cầu nhúng.
+ Nếu tác nhân người dùng đã tắt cookie của bên thứ ba, thì thử nghiệm nguồn gốc sẽ không hoạt động đối với tiêu đề User-Agent
trong các yêu cầu nhúng của bên thứ ba, mặc dù các API JavaScript vẫn sẽ nhận được chuỗi UA rút gọn.
Làm cách nào để xác thực rằng bản dùng thử theo nguyên gốc đang hoạt động?
Để xác thực rằng thử nghiệm nguồn gốc đang hoạt động, hãy kiểm tra các tiêu đề yêu cầu và đảm bảo những điều sau:
- Tiêu đề User-Agent chứa phiên bản rút gọn. Tham khảo danh sách mẫu về các chuỗi UA rút gọn này.
Một cách dễ dàng để nhận biết là chuỗi phiên bản nhỏ của Chrome chứa
0.0.0
. - Tiêu đề
Sec-CH-UA-Reduced
được đặt thành?1
.
Các tiêu đề của phản hồi ban đầu chứa mã thông báo dùng thử gốc sẽ có dạng như sau:

Các tiêu đề yêu cầu tiếp theo chứa chuỗi UA rút gọn sẽ có dạng như sau:

Làm cách nào để ngừng tham gia chương trình thử nghiệm giảm thiểu tác nhân người dùng theo nguồn gốc?
Tại bất kỳ thời điểm nào trong thời gian dùng thử, bạn có thể ngừng tham gia và nhận được chuỗi User-Agent đầy đủ. Cách ngừng tham gia:
- Gửi một tiêu đề
Accept-CH
trong phản hồi HTTP không chứaSec-CH-UA-Reduced
. Lưu ý:Accept-CH
có giá trị trống là một cách hợp lệ để thực hiện việc này nếu trang web của bạn không yêu cầu bất kỳ Gợi ý ứng dụng nào khác. - Xoá tiêu đề
Origin-Trial
cho thử nghiệm Giảm tác nhân người dùng khỏi phản hồi HTTP. - Nếu đã đặt, hãy xoá
Sec-CH-UA-Reduced
khỏi tiêu đềCritical-CH
trong phản hồi HTTP.
Thời gian dùng thử theo nguyên gốc sẽ kéo dài bao lâu?
Bản dùng thử theo nguyên gốc Giảm UA sẽ chạy trong ít nhất 6 tháng, tương ứng với khoảng 6 mốc quan trọng của Chrome. Bản dùng thử theo nguồn gốc sẽ xuất hiện trong phiên bản M95 và kết thúc vào phiên bản M101. Tại thời điểm đó, Chrome sẽ đánh giá ý kiến phản hồi từ bản dùng thử theo nguồn gốc trước khi tiếp tục gửi chuỗi Tác nhân người dùng đã rút gọn theo từng giai đoạn theo kế hoạch triển khai. Nếu cần thêm thời gian, trang web có thể chọn sử dụng bản dùng thử nguồn gốc ngừng hoạt động tiếp theo. Điều này sẽ cho phép họ truy cập vào chuỗi UA đầy đủ trong ít nhất 6 tháng nữa. Chúng tôi sẽ công bố thêm thông tin chi tiết về bản dùng thử ngừng sử dụng khi bản dùng thử này sẵn sàng.
Làm cách nào để chia sẻ ý kiến phản hồi về bản dùng thử tính năng Giảm thông tin trong chuỗi tác nhân người dùng theo nguyên gốc?
Gửi mọi vấn đề hoặc ý kiến phản hồi đến kho lưu trữ GitHub về việc Giảm UA.