Chrome จะยังคงลดข้อมูลที่แชร์ในสตริง User Agent ต่อไปเพื่อช่วยปกป้องความเป็นส่วนตัวของผู้ใช้
ตั้งแต่ Chrome 110 (กุมภาพันธ์ 2023) เป็นต้นไป เราจะค่อยๆ เปิดตัวค่าคงที่สำหรับเวอร์ชัน Android และรุ่นอุปกรณ์ โดยค่าเริ่มต้นจะเป็น Android 10
ในรุ่น K
เสมอ
หากคุณใช้ User Agent เพื่อตรวจหาเวอร์ชันระบบปฏิบัติการ รุ่นอุปกรณ์ Android หรือเวอร์ชันเบราว์เซอร์โดยละเอียดของผู้เข้าชม คุณอาจต้องดําเนินการ โปรดอ่านรายละเอียดต่อ
user-agent คือสตริงที่ให้ข้อมูลเกี่ยวกับเบราว์เซอร์และสภาพแวดล้อมของผู้ใช้ เช่น ทราบว่าผู้เข้าชมเว็บไซต์ใช้ Chrome เวอร์ชัน 110 บน Android เบราว์เซอร์จะส่งข้อมูลนี้ในส่วนหัว HTTP และทำให้พร้อมใช้งานผ่าน JavaScript
ปัญหาเกี่ยวกับสตริง User Agent แบบเต็มคือมีการแชร์ข้อมูลโดยละเอียดเกี่ยวกับเบราว์เซอร์โดยค่าเริ่มต้นในคำขอทุกรายการ ซึ่งเป็นปัจจัยหลักในการอนุญาตให้มีการติดตามข้ามเว็บไซต์ เป้าหมายของเราคือการลดโอกาสในการรวบรวมข้อมูลนี้แบบไม่ได้ตั้งใจไปพร้อมกับให้บริการ API ที่ช่วยให้คุณเข้าถึงข้อมูลได้เมื่อต้องการ
การลด User Agent จนถึงตอนนี้
เราได้เริ่มนําข้อมูล User Agent บางรายการที่พร้อมใช้งานโดยค่าเริ่มต้นออกแล้ว และแทนที่ด้วยค่าคงที่
ตั้งแต่ Chrome 101 เราได้แทนที่หมายเลขเวอร์ชันย่อยด้วย 0 เช่น Chrome/101.3.2.1 เปลี่ยนเป็น Chrome/101.0.0.0
ตั้งแต่ Chrome 107 เราได้แทนที่เวอร์ชันระบบปฏิบัติการเดสก์ท็อปและข้อมูล CPU ด้วยค่าคงที่สำหรับแพลตฟอร์ม
Mac | ➡ | Macintosh; Intel Mac OS X 10_15_7 |
Windows | ➡ | Windows NT 10.0; Win64; x64 |
ChromeOS | ➡ | X11; CrOS x86_64 14541.0.0 |
Linux | ➡ | X11; Linux x86_64 |
เวอร์ชัน Android และรุ่นอุปกรณ์ที่แก้ไขแล้วตั้งแต่ Chrome 110 เป็นต้นไป
ตั้งแต่ Chrome 110 เป็นต้นไป เราจะทยอยเปิดตัวค่าคงที่สำหรับเวอร์ชัน Android และรุ่นอุปกรณ์
แทนที่จะเห็นค่าประมาณ Android 13
ใน Pixel 7
ค่าเริ่มต้นจะเป็น Android 10
ในโมเดล K
เสมอ
Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.0.0 Mobile Safari/537.36
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.0.0 Mobile Safari/537.36
ไม่มีการเปลี่ยนแปลงรูปแบบ User Agent
การลด User Agent จะเปลี่ยนค่าที่แสดงใน User Agent แต่รูปแบบจะยังคงเหมือนเดิม หากคุณใช้ User Agent เพื่ออ่านประเภทระบบปฏิบัติการหรือเวอร์ชันหลักของเบราว์เซอร์เท่านั้น ข้อมูลดังกล่าวจะอัปเดตต่อไปตามปกติและคุณไม่จําเป็นต้องดําเนินการใดๆ

ทางเลือกของ User Agent
หากปัจจุบันคุณใช้ข้อมูลที่ละเอียดยิ่งขึ้น คุณควรตรวจสอบเสมอว่าใช้การเพิ่มประสิทธิภาพแบบเป็นขั้นๆ หรือการระบุฟีเจอร์แทนได้หรือไม่
โปรดทราบว่า User Agent นั้นเหมือนกับค่าอื่นๆ ที่ได้จากผู้ใช้ คุณควรตรวจสอบค่าดังกล่าวและไม่ถือว่าค่านั้นถูกต้อง ผู้ใช้ ชิ้นงาน หรือไคลเอ็นต์อื่นๆ สามารถเปลี่ยนค่า User Agent ได้อย่างง่ายดาย หรืออาจไม่ส่งเลยก็ได้ ในกรณีส่วนใหญ่ คุณควรแสดงเนื้อหาที่ใช้งานได้แก่ผู้เข้าชมได้โดยไม่ต้องใช้ข้อมูล User Agent
ขอข้อมูลโดยละเอียดด้วยคําแนะนําสําหรับไคลเอ็นต์ User Agent
การเข้าถึงข้อมูล User Agent อย่างละเอียดมีเหตุผลที่ถูกต้องมากมาย เช่น การแสดงเนื้อหาเฉพาะอุปกรณ์ ฟังก์ชันการป้องกันการประพฤติมิชอบ หรือการบันทึกแบบละเอียด หากต้องการข้อมูลที่ละเอียดยิ่งขึ้น คุณสามารถใช้ User-Agent Client Hints (UA-CH) API เพื่อเข้าถึงข้อมูลดังกล่าว UA-CH จะใช้ได้ผ่านส่วนหัว HTTP หรือ JavaScript เช่นเดียวกับ User Agent
คุณอาจเห็นส่วนหัวเริ่มต้นที่ส่งพร้อมกับคำนำหน้า Sec-CH-UA-
ซึ่งบอกข้อมูลเบราว์เซอร์ เวอร์ชันหลัก ระบบปฏิบัติการ และระบุว่าเบราว์เซอร์เป็นอุปกรณ์เคลื่อนที่หรือไม่
⏫ ส่วนหัวคำขอคำแนะนำสำหรับไคลเอ็นต์ User Agent เริ่มต้นจาก Chrome:
Sec-CH-UA: "Chromium";v="110", "Not A(Brand";v="24", "Google Chrome";v="110"
Sec-CH-UA-Mobile: ?1
Sec-CH-UA-Platform: "Android"
คุณสามารถใช้ส่วนหัว Accept-CH
ในการตอบกลับเพื่อขอข้อมูลเพิ่มเติมได้
ในกรณีนี้ คุณสามารถขอ Sec-CH-UA-Platform-Version
และ Sec-CH-UA-Model
เพื่อรับ Android เวอร์ชันและประเภทอุปกรณ์นั้นอีกครั้งในคำขอต่อๆ ไป
⏬ ส่วนหัวการตอบกลับจากเซิร์ฟเวอร์ที่ระบุเวอร์ชันและรุ่นของแพลตฟอร์ม:
Accept-CH:
Sec-CH-UA-Platform-Version,
Sec-CH-UA-Model
⏫ ส่งส่วนหัวคำขอกลับไปยัง Chrome ซึ่งรวมถึงเวอร์ชัน Android และชื่อรุ่น:
Sec-CH-UA-Platform-Version: "13.0.0"
Sec-CH-UA-Model: "Pixel 7"
คุณทําสิ่งเดียวกันใน JavaScript ได้โดยเรียกใช้ getHighEntropyValues()
ใน userAgentData
API โดยส่งอาร์เรย์ของค่าที่ต้องการ ได้แก่ platformVersion
และ model
ซึ่งจะแสดงผลพรอมต์ที่มีออบเจ็กต์ซึ่งมีค่าที่เฉพาะเจาะจง
navigator.userAgentData
.getHighEntropyValues(
['platformVersion', 'model']
).then(ua => { console.log(ua)
});
{
"platformVersion": "13.0.0",
"model": "Pixel 7"
}
คำขอข้ามแหล่งที่มาหรือคำขอเริ่มต้น
หากมีทรัพยากรข้ามแหล่งที่มาในหน้าเว็บซึ่งต้องใช้ค่าเหล่านี้ คุณสามารถอนุญาตให้เข้าถึงได้ผ่านส่วนหัว HTTP ของ Permissions-Policy
หรือใช้เมตาแท็ก Delegate-CH
ใน HTML
หากเว็บไซต์จำเป็นต้องมีค่าที่มีความละเอียดอ่อนเหล่านี้ในคำขอระดับบนสุดแรก คุณสามารถใช้ส่วนหัว HTTP Critical-CH
ซึ่งจะบอกให้เบราว์เซอร์ลองส่งคำขอแรกอีกครั้งโดยเพิ่มคำแนะนำเพิ่มเติมเหล่านั้น
ซึ่งอาจมีประโยชน์สําหรับระบบเดิมที่อัปเดตได้ยาก แต่คุณไม่ควรใช้ค่าที่มีความละเอียดอ่อนเหล่านี้เพื่อแสดง HTML เริ่มต้น
ดูข้อมูลเพิ่มเติม
หากต้องการดูสตริง User Agent ที่สั้นลงในการใช้งาน ให้ดูข้อมูลต่อไปนี้
- ดูสตริง User Agent ที่ลดขนาดแล้วสําหรับอุปกรณ์ของคุณได้ที่ goo.gle/reduced-ua-demo
- ดูคำแนะนำไคลเอ็นต์ User-Agent ทั้งหมดของ JavaScript และส่วนหัว HTTP สำหรับอุปกรณ์ของคุณได้ที่ goo.gle/ua-ch-demo
- ส่งสตริง User Agent ที่ลดขนาดแล้วในเบราว์เซอร์ของคุณโดยเปิดใช้
#reduce-user-agent
Flag ของ Chrome
นอกจากนี้ คุณยังลงทะเบียนเข้าร่วมช่วงทดลองใช้การลด User Agent จากต้นทางเพื่อรับ User Agent ที่ลดลงในเว็บไซต์ได้ แม้ว่าเราจะสิ้นสุดช่วงทดลองใช้นี้ในช่วงต้นเดือนมีนาคมเนื่องจากเรากำลังเพิ่มการส่ง User Agent ที่ลดลงโดยค่าเริ่มต้น
เรามีแหล่งข้อมูลเพิ่มเติมในหน้า Landing Page เกี่ยวกับการลด User Agent และคุณยังแจ้งปัญหาในที่เก็บ GitHub สำหรับการลด User Agent โดยเฉพาะได้ด้วย