การลด User Agent คือความพยายามในการลดพื้นที่แสดงลายนิ้วมือแบบแพสซีฟด้วยการลดข้อมูลในสตริง User-Agent (UA) ให้เหลือเพียงแบรนด์และเวอร์ชันที่สำคัญของเบราว์เซอร์ ความแตกต่างระหว่างเดสก์ท็อปหรืออุปกรณ์เคลื่อนที่ และแพลตฟอร์มที่เบราว์เซอร์ทำงานอยู่ ปัจจุบันระบบจะแชร์สตริง UA ในคำขอ HTTP ทุกรายการและแสดงใน JavaScript กับทรัพยากรทั้งหมดที่โหลดโดยเบราว์เซอร์ เว็บไซต์มีข้อมูลที่สำคัญในเบราว์เซอร์ แพลตฟอร์มที่แอปใช้ และความสามารถของเบราว์เซอร์ คำแนะนำ Client-Agent Client (UA-CH) จะให้ข้อมูลเดียวกับสตริง UA แบบเต็มได้ แต่อนุญาตให้เว็บไซต์ขอเฉพาะข้อมูล UA ที่ต้องการเท่านั้น
ตั้งแต่ Chrome 95 เบต้าไป เราจะเปิดช่วงทดลองใช้จากต้นทางสำหรับการลด User Agent เพื่ออนุญาตให้เว็บไซต์เลือกรับสตริง UA ที่ลดลงในตอนนี้ ซึ่งจะช่วยให้เว็บไซต์ค้นพบและแก้ไขปัญหาได้ก่อนที่ UA ที่ลดลงจะกลายเป็นลักษณะการทำงานเริ่มต้นใน Chrome (การลดนี้จะเริ่มในไตรมาสที่ 2 ของปี 2022) หากต้องการทดสอบช่วงทดลองใช้จากต้นทางกับผู้ใช้รุ่นเบต้า 95 รายก่อนที่จะเปิดตัวต่อผู้ใช้ที่เสถียร ให้เลือกเข้าร่วมและทดสอบก่อนวันที่วางจำหน่ายของ Chrome 95 (ปัจจุบันกำหนดเวลาไว้เป็นวันที่ 19 ตุลาคม 2021)
ข้อมูลด้านล่างนี้เป็นภาพรวมของช่วงทดลองใช้จากต้นทางและสิ่งที่จะเกิดขึ้น และเช่นเคย เรายินดีรับความคิดเห็นหรือปัญหาต่างๆ ตลอดช่วงทดลองใช้นี้ในที่เก็บ GitHub ของ UA
User-Agent คืออะไร
ระบบจะแชร์สตริง User-Agent (UA) ในทุกคำขอ HTTP และแสดงใน JavaScript กับทรัพยากรทั้งหมดที่เบราว์เซอร์โหลด ปัจจุบัน URL นี้มีข้อมูลสำคัญ ในเบราว์เซอร์และแพลตฟอร์มที่กำลังใช้งาน
เหตุใด User-Agent จึงลดลง
User-Agent Reduction คือความพยายามในการลดแพลตฟอร์มฟิงเกอร์ปรินต์แบบแพสซีฟในเบราว์เซอร์ Chrome ซึ่งประกาศครั้งแรกเมื่อเดือนมกราคม 2020 การลดข้อมูลในสตริง UA ให้เหลือเพียงแบรนด์และเวอร์ชันสำคัญของเบราว์เซอร์ ความแตกต่างในเดสก์ท็อปหรืออุปกรณ์เคลื่อนที่ และแพลตฟอร์มที่เบราว์เซอร์ใช้ทำให้ระบุผู้ใช้แต่ละรายได้ยากขึ้น
การเปลี่ยนแปลงนี้ส่งผลอย่างไรต่อนักพัฒนาเว็บ
เว็บไซต์ควรเตรียมรับสตริง UA ที่ลดลงและพิจารณาเข้าร่วมช่วงทดลองใช้จากต้นทาง (ตามรายละเอียดด้านล่าง) ค่า User Agent ที่ลดลงจะปรากฏใน
- ส่วนหัวของคำขอ HTTP
User-Agent
- โค้ด JavaScript ของ
navigator.userAgent
- โค้ด JavaScript ของ
navigator.platform
- โค้ด JavaScript ของ
navigator.appVersion
หากต้องการรับข้อมูลไคลเอ็นต์เพิ่มเติมจากที่ User-Agent รุ่นลดลง เว็บไซต์จะต้องย้ายข้อมูลไปยัง API Client Hints ใหม่ ดูรายละเอียดเพิ่มเติมเกี่ยวกับกลยุทธ์การย้ายข้อมูลได้ที่คำแนะนำย้ายข้อมูลไปยังไคลเอ็นต์ User Agent
ปัจจุบันแพ็กเกจการลด User Agent ยังไม่รวม iOS และ WebView ดังนั้นแพลตฟอร์มเหล่านั้นจะยังคงได้รับสตริง User Agent แบบเต็มต่อไป สาเหตุหลักคือแพลตฟอร์มเหล่านี้ยังไม่ได้ใช้งานคำแนะนำเกี่ยวกับไคลเอ็นต์ของ User-Agent
ช่วงทดลองใช้จากต้นทางนี้ทำงานอย่างไร
ช่วงทดลองใช้จากต้นทางนี้ต่างจากช่วงทดลองใช้จากต้นทางมาตรฐานเล็กน้อย ช่วงทดลองใช้ต้นทางมาตรฐานจะควบคุมลักษณะการทำงานในการตอบกลับได้เท่านั้น (เช่น ควบคุมการเข้าถึง API ใน JavaScript ของการตอบกลับ) ในการทดลองใช้นี้ เป้าหมายของเราคือไม่เพียงแก้ไขสตริง UA ที่ให้ไว้ใน JavaScript API แต่รวมถึงการแก้ไขส่วนหัว User-Agent ที่ส่งไปกับคำขอ HTTP ด้วย
เพื่อให้สามารถทำเช่นนี้ได้ เราจึงกำหนดคำแนะนำชั่วคราวให้กับลูกค้าชื่อ Sec-CH-UA-Reduced
ซึ่งการแสดงข้อมูลในคำขอจะระบุว่าค่าส่วนหัวของ User-Agent มีสตริง UA ที่ลดลง ระบบจะส่งคำแนะนำไคลเอ็นต์ Sec-CH-UA-Reduced
(พร้อมกับสตริง UA ที่ลดลง) ก็ต่อเมื่อโทเค็นช่วงทดลองใช้จากต้นทางใช้งานได้ และคำแนะนำไคลเอ็นต์ Sec-CH-UA-Reduced
จะไม่ทำงานเมื่อช่วงทดลองใช้จากต้นทางหมดลง โปรดทราบว่าคำขอการนำทางแรกจะยังคงได้รับสตริง User-Agent แบบไม่ลดลง เว้นแต่คุณจะตั้งค่า Critical-CH
header
คำขอทรัพยากรย่อยไปยังต้นทางเดียวกันจะส่งสตริง User-Agent เดียวกันกับคำขอระดับบนสุดที่ส่งโดยอัตโนมัติ คำขอทรัพยากรย่อยไปยังต้นทางของบุคคลที่สามจะส่งสตริง User-Agent เดียวกันกับคำขอระดับบนสุด ซึ่งรวมถึงสตริง UA ที่ลดลงหากโทเค็นการทดลองใช้ต้นทางถูกต้อง ในกรณีที่นโยบายสิทธิ์อนุญาต
ฉันจะเข้าร่วมช่วงทดลองใช้การลด User Agent จากต้นทางได้อย่างไร
หากต้องการลงทะเบียนสำหรับช่วงทดลองใช้จากต้นทางและรับโทเค็นสำหรับโดเมน โปรดไปที่หน้าช่วงทดลองใช้สำหรับการลด User Agent
อัปเดตส่วนหัวการตอบกลับ HTTP:
- เพิ่ม
Origin-Trial: <ORIGIN TRIAL TOKEN>
ลงในส่วนหัวการตอบกลับ HTTP โดยที่ <ORIGIN TRIAL TOKEN
> มีโทเค็นที่คุณได้รับเมื่อลงทะเบียนช่วงทดลองใช้จากต้นทาง - เพิ่ม
Accept-CH: Sec-CH-UA-Reduced
ลงในส่วนหัวการตอบกลับ HTTP - การตั้งค่า
Accept-CH
จะทําให้ส่งสตริง User-Agent ที่ลดลงเท่านั้นในคำขอที่ตามมาไปยังต้นทาง หากต้องการส่งคำขอการนำทางแรกอีกครั้งโดยใช้สตริง User-Agent ที่ลดลง ให้เพิ่มCritical-CH: Sec-CH-UA-Reduced
ลงในส่วนหัวการตอบกลับ HTTP เพิ่มเติมจากส่วนหัวAccept-CH
และOrigin-Trial
- หมายเหตุ: หากส่วนหัวการตอบกลับมีโทเค็น
Origin-Trial
ที่ถูกต้องและAccept-CH: Sec-CH-UA-Reduced
คำขอทรัพยากรย่อยทั้งหมด (เช่น สำหรับรูปภาพหรือสไตล์ชีต) และการนำทางย่อย (เช่น iframe) จะส่งสตริง UA ที่ลดลง แม้ว่าต้นทางของคำขอเหล่านั้นจะไม่ได้ลงทะเบียนในช่วงทดลองใช้จากต้นทางก็ตาม
- เพิ่ม
โหลดเว็บไซต์ใน Chrome M95 (ขึ้นไป) แล้วเริ่มรับสตริง UA ที่ลดลง
ส่งปัญหาหรือความคิดเห็นไปยังที่เก็บ GitHub ของ UA
ดูการสาธิตง่ายๆ ของช่วงทดลองใช้จากต้นทาง (พร้อมซอร์สโค้ด) ที่ https://uar-ot.glitch.me/
วิธีเข้าร่วมช่วงทดลองใช้จากต้นทางในฐานะวิดีโอที่ฝังของบุคคลที่สาม
ตั้งแต่ Chrome 96 เป็นต้นไป ไฟล์ที่ฝังของบุคคลที่สาม (เช่น iframe ภายในเว็บไซต์อื่น) จะสามารถเข้าร่วมช่วงทดลองใช้จากต้นทางได้โดยไม่ต้องลงทะเบียนเว็บไซต์ระดับบนสุด
วิธีลงทะเบียนเป็นการฝังของบุคคลที่สาม
- ไปที่การทดลองใช้การลด User Agent แล้วคลิกลงทะเบียน
- เมื่อสร้างโทเค็น อย่าลืมเลือกช่องทำเครื่องหมาย
Third-party matching
- หากต้องการรับส่วนหัว User-Agent ที่ลดลงจากการฝังของบุคคลที่สาม ให้อัปเดตส่วนหัวการตอบกลับ HTTP
- หากต้องการรับสตริง User-Agent ที่ลดลงใน JavaScript API คุณต้องแทรกโทเค็นช่วงทดลองใช้ผ่าน JavaScript
ประเด็นสำคัญบางอย่างเกี่ยวกับการเรียกใช้ช่วงทดลองใช้จากต้นทางกับการฝังของบุคคลที่สามมีดังนี้
+ ระบุ Critical-CH
สำหรับการฝังของบุคคลที่สามไม่ได้ ดังนั้นการไปยังส่วนต่างๆ ในครั้งแรกจะไม่ส่งสตริง UA ที่ลดลง แม้ว่าคำขอทรัพยากรย่อยของการฝังของบุคคลที่สามจะส่งสตริง UA ที่ลดลงก็ตาม
+ หากมีการตรวจสอบช่วงทดลองใช้จากต้นทางสำหรับต้นทางของการฝังของบุคคลที่สาม คำขอที่ส่งไปยังต้นทางเดียวกันในภายหลังในการนำทางระดับบนสุดจะส่งสตริง UA ที่ลดลง ด้วยเหตุนี้ เราจึงขอแนะนำให้เพิ่มจำนวนการเข้าร่วมช่วงทดลองใช้จากต้นทางสำหรับทั้งคำขอระดับบนสุดและคำขอที่ฝังร่วมกัน
+ หาก User Agent ปิดใช้คุกกี้ของบุคคลที่สาม ช่วงทดลองใช้จากต้นทางจะใช้ไม่ได้กับส่วนหัว User-Agent
ในคำขอฝังของบุคคลที่สาม แม้ว่า JavaScript API จะยังคงได้รับสตริง UA ที่ลดลงก็ตาม
ฉันจะตรวจสอบได้อย่างไรว่าช่วงทดลองใช้จากต้นทางใช้งานได้
หากต้องการตรวจสอบว่าช่วงทดลองใช้จากต้นทางใช้งานได้ ให้ตรวจสอบส่วนหัวของคำขอและตรวจสอบว่าเป็นไปตามข้อกำหนดต่อไปนี้
- ส่วนหัว User-Agent มีเวอร์ชันที่ลดลง โปรดดูรายการตัวอย่างสตริง UA ที่ลดลง
วิธีง่ายๆ คือสตริงเวอร์ชันย่อยของ Chrome มี
0.0.0
- ตั้งค่าส่วนหัว
Sec-CH-UA-Reduced
เป็น?1
ส่วนหัวของการตอบกลับเริ่มต้นที่มีโทเค็นการทดลองใช้ต้นทางควรมีลักษณะดังนี้
ส่วนหัวของคำขอที่ตามมาที่มีสตริง UA ที่ลดลงควรมีลักษณะดังนี้
ฉันจะหยุดเข้าร่วมช่วงทดลองใช้การลด User Agent จากต้นทางได้อย่างไร
ในช่วงเวลาหนึ่งๆ ระหว่างการทดลองใช้ คุณสามารถหยุดการเข้าร่วมและรับสตริง User-Agent แบบเต็มได้ วิธีหยุดเข้าร่วม
- ส่งส่วนหัว
Accept-CH
ในการตอบกลับ HTTP ที่ไม่มีSec-CH-UA-Reduced
หมายเหตุ:Accept-CH
ที่มีค่าว่างคือวิธีที่ถูกต้องในการดำเนินการดังกล่าว หากเว็บไซต์ของคุณไม่ได้ขอคำใบ้อื่นๆ จากลูกค้า - นำส่วนหัว
Origin-Trial
สำหรับการทดลองใช้การลด User Agent ออกจากการตอบกลับ HTTP - หากตั้งค่าไว้ ให้นำ
Sec-CH-UA-Reduced
ออกจากส่วนหัวCritical-CH
ในการตอบกลับ HTTP
ช่วงทดลองใช้จากต้นทางจะมีระยะเวลานานเท่าใด
ช่วงทดลองใช้จากต้นทางการลด UA จะทำงานเป็นเวลาอย่างน้อย 6 เดือน ซึ่งสอดคล้องกับเป้าหมาย Chrome ประมาณ 6 เป้าหมาย ช่วงทดลองใช้จากต้นทางจะปรากฏใน M95 และสิ้นสุดลงภายใน M101 ซึ่งเมื่อถึงจุดนี้ Chrome จะประเมินความคิดเห็นจากช่วงทดลองใช้จากต้นทาง ก่อนที่จะส่งสตริง User-Agent ที่ลดลงโดยค่อยๆ เป็นระยะตามแผนการเปิดตัว หากเว็บไซต์ต้องการเวลานานขึ้น เว็บไซต์จะเลือกทดลองใช้ต้นทางการเลิกใช้งานครั้งต่อๆ ไปได้ ซึ่งจะช่วยให้เข้าถึงสตริง UA ที่สมบูรณ์ได้อย่างน้อยอีก 6 เดือน เราจะเผยแพร่รายละเอียดเพิ่มเติมเกี่ยวกับช่วงทดลองใช้การเลิกใช้งานเมื่อพร้อม
ฉันจะแชร์ความคิดเห็นสำหรับช่วงทดลองใช้การลด User Agent จากต้นทางได้อย่างไร
ส่งปัญหาหรือความคิดเห็นไปยังที่เก็บ GitHub ของ UA