การลดภาษาที่ยอมรับเป็นความพยายามที่จะลดการเก็บลายนิ้วมือแบบแพสซีฟ
แพลตฟอร์มต่างๆ ได้โดยลดค่ากำหนดภาษาของผู้ใช้ใน
Accept-Language
และส่งเฉพาะภาษาที่ผู้ใช้ต้องการมากที่สุด (เพียงรายการเดียว)
เริ่มต้นด้วย Chrome 109
เบต้า เราจะเปิดให้
ช่วงทดลองใช้จากต้นทาง
สำหรับการลดการยอมรับภาษาที่ทำให้เว็บไซต์สามารถเลือกรับ
ส่วนหัว Accept-Language
การดำเนินการนี้จะช่วยให้เว็บไซต์ค้นพบและแก้ไขปัญหาได้
ก่อนที่ Accept-Language
ที่ลดลงจะกลายเป็นลักษณะการทำงานเริ่มต้นใน Chrome ใน
ในอนาคต หากต้องการทดสอบฟีเจอร์ก่อนที่จะเปิดตัวแก่ผู้ใช้ที่เสถียร โปรด
อย่าลืมเลือกใช้และทดสอบก่อนวันที่เผยแพร่สำหรับ Chrome 109 (ปัจจุบัน
เป็นวันที่ 10 ม.ค. 2023)
ดูตัวอย่างของส่วนหัว Accept-Language
ก่อนและหลังการลดด้านล่าง
Accept-Language: en-GB,en;q=0.9,de;q=0.8,fr;q=0.7
Accept-Language: en-GB
ด้านล่างนี้คือภาพรวมของช่วงทดลองใช้จากต้นทางและสิ่งที่จะเกิดขึ้น คุณสามารถแชร์ ความคิดเห็นเกี่ยวกับการเปลี่ยนแปลงนี้หรือปัญหาที่คุณพบระหว่างช่วงทดลองใช้จากต้นทางใน GitHub สำหรับการลดภาษาที่ยอมรับ ที่เก็บ
ภาษาที่ยอมรับคืออะไร
ภาษาที่ยอมรับ แชร์สตริงร่วมกันในทุกคำขอ HTTP และเปิดเผยใน JavaScript แก่ทุกคน ทรัพยากรที่โหลดโดยเบราว์เซอร์ ในปัจจุบัน โซลูชันนี้มีข้อมูลเกี่ยวกับ ภาษาที่ต้องการ
เหตุใดจึงมีการย่อ "ยอมรับ-ภาษา"
การลดภาษาที่ยอมรับเป็นความพยายามที่จะลดการเก็บลายนิ้วมือแบบแพสซีฟ แพลตฟอร์มต่างๆ ใน Chrome
ปัจจุบันส่วนหัว Accept-Language
จะแชร์โดยค่าเริ่มต้นในทุก HTTP
และแสดงใน JavaScript ของทรัพยากรทั้งหมดที่โหลดโดยเบราว์เซอร์ ทั้งนี้
มีค่ากำหนดภาษาทั้งหมดของผู้ใช้ แทนที่จะเป็นการที่เบราว์เซอร์ส่ง
รายการภาษาทั้งหมดที่ผู้ใช้กำหนดค่าไว้ในกรณีที่เว็บไซต์ต้องการ
นำเสนอเนื้อหาหลายภาษา เราจะแนะนำวิธีใหม่ในการทำให้เว็บไซต์
เนื้อหาหลายภาษา และเบราว์เซอร์จะ
รับผิดชอบในการแสดงภาษา
การเจรจาต่อรอง และแสดงภาษาที่ต้องการ
อีกเหตุผลหนึ่งคือเว็บไซต์จำนวนมากอาจไม่ได้ใช้ส่วนหัว Accept-Language
ในการต่อรองด้านภาษาเลย (ตัวอย่างเช่น หนึ่ง
ระบุว่ามีเพียง 7.2% ของ
10,000 เว็บไซต์ยอดนิยมใช้ Accept-Language
) โหมดไม่ระบุตัวตนของ Chrome ลด
Accept-Language
ต่อ 1
ผลกระทบต่อนักพัฒนาเว็บ
เว็บไซต์ที่ใช้ Accept-Language
เพื่อเจรจาต่อรองภาษาควร
เตรียมรับส่วนลด Accept-Language
และพิจารณาเข้าร่วม
ช่วงทดลองใช้จากต้นทาง ค่า Accept-Language
ที่ลดลงจะปรากฏใน
- ส่วนหัวของคำขอ HTTP
Accept-Language
- ตัวรับ JavaScript
navigator.languages
เบราว์เซอร์จะรับผิดชอบในการเจรจาต่อรองภาษาเพื่อเลือก
ภาษาที่ผู้ใช้ต้องการในการส่งไปยังเว็บไซต์ ด้วยเหตุนี้ เว็บไซต์ต่างๆ จึงต้อง
เพิ่มส่วนหัว 2 รายการ
Variants
(ส่วนหัวใหม่แสดงถึงเว็บไซต์ที่รองรับภาษา) Accept-Language
และ
Content-Language
ใน
ส่วนหัวการตอบกลับ (ดูตัวอย่างโดยละเอียดด้านล่าง)
ขณะนี้แพ็กเกจ Accept-Language
ที่ลดลงไม่รวม iOS และ WebView และ
แพลตฟอร์มเหล่านั้นจะยังคงได้รับ รายการ Accept-Language
ทั้งหมด
เราวางแผนที่จะรองรับแพลตฟอร์มเหล่านี้ในภายหลัง
ช่วงทดลองใช้จากต้นทางสำหรับการลดภาษาที่ยอมรับ
ช่วงทดลองใช้จากต้นทางกำหนดให้เว็บไซต์ที่เข้าร่วมต้องระบุโทเค็นในช่วงทดลองใช้
ซึ่งจะบอกให้เบราว์เซอร์เปิดใช้การทดลองใช้ที่ระบุ อย่างไรก็ตาม
หมายความว่าเมื่อส่งคำขอเริ่มต้นของเบราว์เซอร์ไปยังไซต์ จะไม่มีทางทราบเลย
หากเว็บไซต์เข้าร่วมช่วงทดลองใช้จากต้นทาง ซึ่งหมายความว่า
คำขอในเซสชันจะไม่ส่ง Accept-Language header
ที่ลดลง
คำขอทรัพยากรย่อยในหน้านั้น ทั้งต้นทางเดียวกันและข้ามต้นทางจะ
จะได้รับส่วนหัว Accept-Language
ที่ลดลง การนำทางที่มาเดียวกันตามลำดับ
จะได้รับส่วนหัว Accept-Language
ที่ลดลงด้วย การนำทางข้ามต้นทาง
จะเปลี่ยนกลับเป็นการส่งส่วนหัวแบบเต็ม ในขณะที่คำขอข้ามต้นทางภายใน
หน้าเว็บ (เช่น คำขอ iframe ของบุคคลที่สาม) จะยังคงส่ง Accept-Language
ที่ลดลง
หากคำขอเฟรมระดับบนสุดมีโทเค็นช่วงทดลองใช้จากต้นทางที่ถูกต้อง
ซึ่งคล้ายกับช่วงทดลองใช้จากต้นทางการลด User Agent และหากคุณต้องการ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการใช้งาน Chromium ภายในคุณสามารถอ่านเพิ่มเติมใน การใช้ส่วนหัว HTTP Reduce Receive-Language
เข้าร่วมช่วงทดลองใช้จากต้นทางสำหรับการลดภาษาที่ยอมรับ
คุณสามารถอ่านคําแนะนําเพิ่มเติมใน การเริ่มต้นใช้งานช่วงทดลองใช้จากต้นทางของ Chrome, แต่ขั้นตอนสำคัญแสดงอยู่ด้านล่างนี้
ขั้นตอนที่ 1
หากต้องการลงทะเบียนสำหรับช่วงทดลองใช้จากต้นทางและรับโทเค็นสำหรับโดเมน โปรดไปที่ การทดลองใช้การลดภาษาที่ยอมรับ
ขั้นตอนที่ 2
อัปเดตส่วนหัวการตอบกลับ HTTP ดังนี้
- เพิ่ม
Origin-Trial: <ORIGIN TRIAL TOKEN>
ไปยังการตอบกลับ HTTP ของคุณ ส่วนหัว โดยที่ <ORIGIN TRIAL TOKEN
> มีโทเค็นที่คุณได้รับเมื่อ การลงทะเบียนช่วงทดลองใช้จากต้นทาง - เพิ่ม
Content-Language
ในส่วนหัวการตอบกลับ HTTP เพื่อระบุ ภาษาของกลุ่มเป้าหมาย - เพิ่ม
Variants
ในส่วนหัวการตอบกลับ HTTP เพื่อระบุเว็บไซต์ ภาษาที่รองรับ - [ไม่บังคับ] เพิ่ม
Vary: Accept-Language
ในการตอบกลับ HTTP เพื่อสร้างคีย์แคชสำหรับการเจรจาเนื้อหา - การตั้งค่าส่วนหัวเหล่านั้นจะทริกเกอร์เฉพาะภาษาของเบราว์เซอร์ การต่อรอง (การเริ่มต้นใหม่สำหรับคำขอเริ่มต้น) หากต้องการให้เว็บไซต์แสดงภาษาที่ถูกต้องสำหรับ คุณต้องอัปเดตเว็บไซต์ที่ส่งเนื้อหาตาม ส่วนหัว Authorized-Language ของผู้ใช้ (ดูตัวอย่างด้านล่าง)
ขั้นตอนที่ 3
โหลดเว็บไซต์ของคุณใน Chrome M109 เบต้า (หรือใหม่กว่า) และเริ่มรับ สตริง Authorized-Language ลดลง
ส่งปัญหาหรือความคิดเห็นไปยัง GitHub การลดการยอมรับภาษา ที่เก็บ
สาธิต
สำหรับการสาธิตเว็บไซต์หลายภาษาที่เลือกเข้าร่วมช่วงทดลองใช้จากต้นทาง (พร้อมด้วยซอร์สโค้ด) ดู https://reduce-accept-language.glitch.me/.
สำหรับการสาธิตการเลือกใช้และการเลือกไม่ใช้ช่วงทดลองใช้จากต้นทาง (พร้อมด้วย ซอร์สโค้ด) ดู https://reduce-accept-language-ot.glitch.me/.
ตัวอย่างเช่น example.com
รองรับ ja
(ภาษาญี่ปุ่น) และ en
(ภาษาอังกฤษ) ต
คำขออาจเป็น:
GET / HTTP/1.1
Host: example.com
Accept-Language: en
ไซต์ทราบว่าผู้ใช้ชอบเนื้อหาเป็นภาษาอังกฤษตาม ภาษาที่ยอมรับ ส่วนหัวการตอบกลับอาจประกอบด้วยข้อมูลต่อไปนี้
HTTP/1.1 200 OK
Content-Language: en
Variants: Accept-Language=(en ja)
Origin-Token: a-valid-token
หากผู้ใช้ต้องการเนื้อหาภาษาญี่ปุ่น คำขอจะเป็นดังนี้
GET / HTTP/1.1
Host: example.com
Accept-Language: ja
ในกรณีนี้ เว็บไซต์จะตอบกลับด้วยส่วนหัวสำหรับเนื้อหาภาษาญี่ปุ่นดังนี้
HTTP/1.1 200 OK
Content-Language: ja
Variants: Accept-Language=(en ja)
Origin-Token: a-valid-token
ในฝั่งเซิร์ฟเวอร์ ไซต์อาจกำลังมองหาการสนับสนุนภาษาที่เฉพาะเจาะจง แต่ กลับไปใช้ค่าเริ่มต้นหากไม่พบการสนับสนุน:
if(accept_language == 'ja') {
res.response('ja_page')
}
else {
res.response('en_page')
}
ในตัวอย่างด้านบน example.com
จะตอบสนอง en
หรือ ja
ตาม
ค่า Accept-Language
ค่าเริ่มต้นเป็น en
หากไม่มีรายการที่ตรงกัน ในกรณีนี้ ค่า
เว็บไซต์ยังสามารถเปลี่ยนเส้นทางไปยังหน้าภาษาที่ตรงกัน /en
หรือ
/ja
ตามค่า Accept-Language
ดูตัวอย่างโดยละเอียดที่เกี่ยวข้องกับ
การเปลี่ยนเส้นทางบน
เอกสารการติดตั้งใช้งาน
การสนับสนุนช่วงทดลองใช้จากต้นทางของบุคคลที่สาม
ปัจจุบันเราไม่รองรับการจดทะเบียนโดเมนของคุณเป็น
บุคคลที่สามสำหรับช่วงทดลองใช้
หากคุณให้บริการที่ดำเนินการเป็นทรัพยากรย่อยในต้นทางต่างๆ
(เช่น การแสดงโฆษณาหรือการวิเคราะห์) คุณจะได้รับเฉพาะ
ส่วนหัว Accept-Language
หากเว็บไซต์ระดับบนสุดเข้าร่วมในต้นทาง
ฟรี
ตรวจสอบว่าช่วงทดลองใช้จากต้นทางใช้งานได้
คู่มือสำหรับ การแก้ปัญหาช่วงทดลองใช้จากต้นทางของ Chrome มีรายการตรวจสอบฉบับเต็มเพื่อให้มั่นใจว่าโทเค็นมีการกำหนดค่าอย่างถูกต้อง
คุณกำหนดค่าหลายภาษาและลำดับความสำคัญของภาษาเหล่านั้นจาก
chrome://settings/languages
หรือการตั้งค่า → ภาษา โปรดพิจารณาเลือก
ภาษาที่เว็บไซต์ของคุณไม่รองรับ แล้วย้ายไปอยู่ด้านบนสุดของรายการ
เพื่อให้แน่ใจว่าการเจรจาเพิ่มเติมจะเกิดขึ้น
ส่วนหัวของการตอบกลับเริ่มต้นที่มีโทเค็นการทดลองต้นทางควรมีลักษณะดังนี้ อย่างเช่น:

ส่วนหัวของคำขอที่ตามมาที่มีการลด "ภาษาที่ยอมรับ" จะมีลักษณะดังนี้

หยุดเข้าร่วมช่วงทดลองใช้จากต้นทาง
คุณสามารถหยุดเข้าร่วมและ จะได้รับรายการ Request-Language ทั้งหมดของผู้ใช้ หากต้องการหยุดเข้าร่วม ให้ทําดังนี้
- นำส่วนหัว
Origin-Trial
สำหรับการลดภาษาที่ยอมรับออก ทดลองจากการตอบสนอง HTTP ของคุณ - [ไม่บังคับ] นำส่วนหัว
Variants
ออกเพื่อเพิ่มการเลือกใช้ ช่วงทดลองใช้จากต้นทางในการตอบสนอง HTTP หากคุณไม่สนใจส่ง ส่วนหัวนี้ คุณยังใช้Variants
กับค่าว่างเพื่อให้ดำเนินการได้ด้วย นี้ - [ไม่บังคับ] นำส่วนหัว
Content-Language
ที่เพิ่มไว้ใน เลือกใช้การทดลองใช้จากต้นทางในการตอบกลับ HTTP หากคุณไม่สนใจ การส่งส่วนหัวนี้
ระยะเวลาช่วงทดลองใช้จากต้นทาง
ช่วงทดลองใช้จากต้นทางในการยอมรับการลดภาษาจะทำงานเป็นเวลาอย่างน้อย 6 เดือน ซึ่งสอดคล้องกับเป้าหมายของ Chrome ประมาณ 6 ข้อ ช่วงทดลองใช้จากต้นทางจะปรากฏขึ้น ใน M109 และลงท้ายด้วย M114 (หมายถึง Chrome รุ่นล่าสุดที่มีการทดลองใช้ ว่าง) เมื่อถึงเวลานั้น Chrome จะประเมินความคิดเห็นจากต้นทาง ก่อนที่จะดำเนินการต่อด้วยการส่งสตริง "ยอมรับภาษา" ที่ลดลงใน แบบที่แบ่งเป็นระยะ: ลดส่วนหัวตกลงภาษา HTTP ก่อนแล้วลดพารามิเตอร์ อินเทอร์เฟซ JS หากเว็บไซต์ต้องการเวลาเพิ่มเติมในการทดสอบ ก็สามารถเลือกใช้ ช่วงทดลองใช้จากต้นทางการเลิกใช้งาน ซึ่งช่วยให้ผู้ลงโฆษณาเข้าถึง สตริงภาษา "ยอมรับ" เป็นระยะเวลาอย่างน้อยอีก 6 เดือน เราจะเผยแพร่มากขึ้น รายละเอียดเกี่ยวกับช่วงทดลองใช้การเลิกใช้งานเมื่อพร้อมให้ใช้งาน
แชร์ความคิดเห็น
ส่งปัญหาหรือความคิดเห็นไปยัง GitHub การลดการยอมรับภาษา ที่เก็บ