การลด User Agent เป็นการดำเนินการเพื่อลดแพลตฟอร์มลายนิ้วมือแบบพาสซีฟโดยการลดข้อมูลในสตริง User-Agent (UA) เหลือเพียงแบรนด์และเบราว์เซอร์เวอร์ชันที่สำคัญ ความแตกต่างระหว่างเดสก์ท็อปหรืออุปกรณ์เคลื่อนที่ และแพลตฟอร์มที่ใช้งาน ปัจจุบันสตริง UA จะแชร์ในคําขอ HTTP ทุกรายการและแสดงใน JavaScript แก่ทรัพยากรทั้งหมดที่เบราว์เซอร์โหลด ซึ่งประกอบด้วยข้อมูลสำคัญเกี่ยวกับเบราว์เซอร์ แพลตฟอร์มที่ใช้ และความสามารถของเบราว์เซอร์ คำแนะนำไคลเอ็นต์ User-Agent (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 แก่ทรัพยากรทั้งหมดที่เบราว์เซอร์โหลด ปัจจุบันมีข้อมูลสำคัญเกี่ยวกับเบราว์เซอร์และแพลตฟอร์มที่ใช้อยู่
เหตุใดจึงมีการลด 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
ส่วนหัวของการตอบกลับครั้งแรกซึ่งมีโทเค็นช่วงทดลองใช้ของต้นทางควรมีลักษณะดังนี้

ส่วนหัวคําขอต่อๆ ไปที่มีสตริง UA ที่ลดลงควรมีลักษณะดังนี้

ฉันจะหยุดเข้าร่วมการทดลองใช้การลด 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