การลด User Agent เป็นการดำเนินการเพื่อลดแพลตฟอร์มลายนิ้วมือแบบพาสซีฟโดยลดข้อมูลในสตริง User-Agent (UA) เหลือเพียงแบรนด์และเบราว์เซอร์เวอร์ชันที่สำคัญ ความแตกต่างระหว่างเดสก์ท็อปหรืออุปกรณ์เคลื่อนที่ และแพลตฟอร์มที่ใช้งาน ระบบจะแชร์สตริง UA ในคําขอ HTTP ทั้งหมดและแสดงใน JavaScript แก่ทรัพยากรทั้งหมดที่เบราว์เซอร์โหลด ซึ่งประกอบด้วยข้อมูลสำคัญเกี่ยวกับเบราว์เซอร์ แพลตฟอร์มที่ใช้ และความสามารถของเบราว์เซอร์ คำแนะนำไคลเอ็นต์ User-Agent (UA-CH) สามารถให้ข้อมูลเดียวกันกับสตริง UA แบบเต็ม ในขณะที่อนุญาตให้เว็บไซต์ขอข้อมูล UA ที่ต้องการเท่านั้น
ตั้งแต่ Chrome 95 เบต้าเป็นต้นไป เราจะเปิดการทดลองใช้เวอร์ชันต้นทางสำหรับการลด User Agent เพื่อให้เว็บไซต์เลือกรับสตริง UA ที่ลดลงได้ตั้งแต่ตอนนี้ ซึ่งจะช่วยให้เว็บไซต์ค้นพบและแก้ไขปัญหาก่อนที่ UA ที่ลดลงจะกลายเป็นลักษณะการทำงานเริ่มต้นใน Chrome (เราวางแผนที่จะเริ่มการลดในไตรมาสที่ 2 ของปี 2022) หากต้องการทดสอบช่วงทดลองใช้จากต้นทางในผู้ใช้ Chrome 95 รุ่นเบต้าก่อนที่จะเปิดตัวแก่ผู้ใช้เวอร์ชันเสถียร โปรดเลือกใช้และทดสอบก่อนวันที่เปิดตัว Chrome 95 (กำหนดการคือวันที่ 19 ตุลาคม 2021)
ภาพรวมของช่วงทดลองใช้ต้นทางและสิ่งที่จะเกิดขึ้นมีดังนี้ และเช่นเคย เรายินดีรับฟังความคิดเห็นหรือปัญหาใดๆ ตลอดช่วงทดลองใช้นี้ในที่เก็บ GitHub ของการลด UA
User-Agent คืออะไร
ระบบจะแชร์สตริง User-Agent (UA) ในคําขอ HTTP ทุกรายการ และแสดงใน JavaScript แก่ทรัพยากรทั้งหมดที่เบราว์เซอร์โหลด เนื่องจากมีข้อมูลสำคัญเกี่ยวกับเบราว์เซอร์และแพลตฟอร์มที่ใช้
เหตุใดจึงมีการลด User Agent
การลด User Agent เป็นแนวทางในการลดแพลตฟอร์มการพิมพ์ลายนิ้วมือแบบพาสซีฟในเบราว์เซอร์ Chrome ซึ่งได้ประกาศไปเมื่อเดือนมกราคม 2020 การลดข้อมูลในสตริง UA เหลือเพียงแบรนด์และเบราว์เซอร์เวอร์ชันที่สำคัญ การแยกความแตกต่างระหว่างเดสก์ท็อปหรืออุปกรณ์เคลื่อนที่ และแพลตฟอร์มที่ใช้ทําให้ระบุผู้ใช้แต่ละรายได้ยากขึ้น
การเปลี่ยนแปลงนี้ส่งผลต่อนักพัฒนาเว็บอย่างไร
เว็บไซต์ควรเตรียมพร้อมรับสตริง UA ที่ลดลงและพิจารณาเข้าร่วมการทดลองใช้ต้นทาง (ดูรายละเอียดด้านล่าง) ค่า User Agent ที่ลดลงจะปรากฏใน
- ส่วนหัวคำขอ HTTP ของ
User-Agent
navigator.userAgent
Getter ของ JavaScriptnavigator.platform
Getter ของ JavaScriptnavigator.appVersion
Getter ของ JavaScript
หากต้องการรับข้อมูลไคลเอ็นต์มากกว่าที่ User Agent ที่ลดลงแชร์ เว็บไซต์จะต้องย้ายข้อมูลไปยัง API คำแนะนำสำหรับไคลเอ็นต์ของ User Agent ใหม่ โปรดดูรายละเอียดเพิ่มเติมเกี่ยวกับกลยุทธ์การย้ายข้อมูลได้ที่ย้ายข้อมูลไปยังคำแนะนำสำหรับไคลเอ็นต์ของ 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
ฉันจะหยุดเข้าร่วมการทดลองใช้การลด User Agent จากต้นทางได้อย่างไร
คุณสามารถหยุดเข้าร่วมและรับสตริง User Agent แบบเต็มได้ทุกเมื่อในระหว่างช่วงทดลองใช้ วิธีหยุดเข้าร่วม
- ส่งส่วนหัว
Accept-CH
ในการตอบกลับ HTTP ที่ไม่รวมSec-CH-UA-Reduced
หมายเหตุ:Accept-CH
ที่มีค่าว่างเป็นวิธีที่ถูกต้องในการดำเนินการนี้หากเว็บไซต์ไม่ได้ขอ Client Hint อื่นๆ - นําส่วนหัว
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