เข้าร่วมช่วงทดลองใช้จากต้นทางสำหรับการลดที่ยอมรับ-ภาษา

การลดภาษาที่ยอมรับเป็นความพยายามที่จะลดการเก็บลายนิ้วมือแบบแพสซีฟ แพลตฟอร์มต่างๆ ได้โดยลดค่ากำหนดภาษาของผู้ใช้ใน 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 ดังนี้

  1. เพิ่ม Origin-Trial: <ORIGIN TRIAL TOKEN> ไปยังการตอบกลับ HTTP ของคุณ ส่วนหัว โดยที่ <ORIGIN TRIAL TOKEN> มีโทเค็นที่คุณได้รับเมื่อ การลงทะเบียนช่วงทดลองใช้จากต้นทาง
  2. เพิ่ม Content-Language ในส่วนหัวการตอบกลับ HTTP เพื่อระบุ ภาษาของกลุ่มเป้าหมาย
  3. เพิ่ม Variants ในส่วนหัวการตอบกลับ HTTP เพื่อระบุเว็บไซต์ ภาษาที่รองรับ
  4. [ไม่บังคับ] เพิ่ม Vary: Accept-Language ในการตอบกลับ HTTP เพื่อสร้างคีย์แคชสำหรับการเจรจาเนื้อหา
  5. การตั้งค่าส่วนหัวเหล่านั้นจะทริกเกอร์เฉพาะภาษาของเบราว์เซอร์ การต่อรอง (การเริ่มต้นใหม่สำหรับคำขอเริ่มต้น) หากต้องการให้เว็บไซต์แสดงภาษาที่ถูกต้องสำหรับ คุณต้องอัปเดตเว็บไซต์ที่ส่งเนื้อหาตาม ส่วนหัว 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หรือการตั้งค่า → ภาษา โปรดพิจารณาเลือก ภาษาที่เว็บไซต์ของคุณไม่รองรับ แล้วย้ายไปอยู่ด้านบนสุดของรายการ เพื่อให้แน่ใจว่าการเจรจาเพิ่มเติมจะเกิดขึ้น

ส่วนหัวของการตอบกลับเริ่มต้นที่มีโทเค็นการทดลองต้นทางควรมีลักษณะดังนี้ อย่างเช่น:

ภาพหน้าจอของส่วนหัวของคำขอที่มีการลด &quot;ภาษาที่ยอมรับ&quot;

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

ส่วนหัวของการตอบกลับเริ่มต้นที่มีโทเค็นการทดลองใช้จากต้นทาง

หยุดเข้าร่วมช่วงทดลองใช้จากต้นทาง

คุณสามารถหยุดเข้าร่วมและ จะได้รับรายการ Request-Language ทั้งหมดของผู้ใช้ หากต้องการหยุดเข้าร่วม ให้ทําดังนี้

  1. นำส่วนหัว Origin-Trial สำหรับการลดภาษาที่ยอมรับออก ทดลองจากการตอบสนอง HTTP ของคุณ
  2. [ไม่บังคับ] นำส่วนหัว Variants ออกเพื่อเพิ่มการเลือกใช้ ช่วงทดลองใช้จากต้นทางในการตอบสนอง HTTP หากคุณไม่สนใจส่ง ส่วนหัวนี้ คุณยังใช้ Variants กับค่าว่างเพื่อให้ดำเนินการได้ด้วย นี้
  3. [ไม่บังคับ] นำส่วนหัว Content-Language ที่เพิ่มไว้ใน เลือกใช้การทดลองใช้จากต้นทางในการตอบกลับ HTTP หากคุณไม่สนใจ การส่งส่วนหัวนี้

ระยะเวลาช่วงทดลองใช้จากต้นทาง

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

แชร์ความคิดเห็น

ส่งปัญหาหรือความคิดเห็นไปยัง GitHub การลดการยอมรับภาษา ที่เก็บ