ตั้งแต่ Chrome 100 เป็นต้นไป ช่วงทดลองใช้ CHIPS จากต้นทางจะอนุญาตให้เลือกใช้คุกกี้เพื่อ "แบ่งพาร์ติชัน" โดยมีช่องคุกกี้แยกกันตามเว็บไซต์ระดับบนสุด
การเปลี่ยนแปลง
- กันยายน 2022: ดูข้อมูลที่อัปเดตเกี่ยวกับการขยายช่วงทดลองใช้จากต้นทางผ่าน Chrome 106
- สิงหาคม 2022: นำข้อกำหนดของ
path=/
ออกแล้ว (โปรดดู github.com/privacycg/CHIPS/pull/49) - มิถุนายน 2022: ตั้งแต่ Chrome 104 เป็นต้นไป การตั้งค่าคุกกี้ด้วยแอตทริบิวต์
Partitioned
จะไม่จำเป็นต้องละเว้นแอตทริบิวต์Domain
อีกต่อไป - พฤษภาคม 2022: ตั้งแต่ Chrome 103 เป็นต้นไป คุณไม่จำเป็นต้องส่งส่วนหัว
Accept-CH: Sec-CH-Partitioned-Cookies
สำหรับการเลือกใช้ช่วงทดลองใช้จากต้นทางอีกต่อไป
CHIPS คืออะไร
คุกกี้ซึ่งมีสถานะการแบ่งพาร์ติชันอิสระ (CHIPS) เป็นข้อเสนอ Privacy Sandbox ที่อนุญาตให้นักพัฒนาแอปเลือกใช้คุกกี้เพื่อ "แบ่งพาร์ติชัน" โดยมีขวดคุกกี้แยกกันตามเว็บไซต์ระดับบนสุด
คุกกี้ของบุคคลที่สามที่แบ่งพาร์ติชันแล้วจะผูกกับเว็บไซต์ระดับบนสุดที่ตั้งค่าตั้งแต่แรกและไม่สามารถเข้าถึงได้จากที่อื่น เป้าหมายคือการอนุญาตให้บริการของบุคคลที่สามตั้งค่าคุกกี้ได้ แต่ควรอ่านเฉพาะในบริบทของเว็บไซต์ระดับบนสุดที่ตั้งค่าคุกกี้ในตอนแรกเท่านั้น
ช่วงทดลองใช้จากต้นทางมีไว้สําหรับใคร
ช่วงทดลองใช้นี้มีให้บริการเป็นช่วงทดลองใช้จากต้นทางของบุคคลที่สาม ซึ่งช่วยให้ผู้ให้บริการเนื้อหาที่ฝังไว้ลองใช้ฟีเจอร์ใหม่ในหลายๆ เว็บไซต์ได้
หากเว็บไซต์ลงทะเบียนทดลองใช้เป็นบุคคลที่หนึ่ง ผู้ให้บริการเนื้อหาบุคคลที่สามทุกรายในเว็บไซต์ดังกล่าวจะพร้อมใช้งานการแบ่งพาร์ติชันคุกกี้เช่นกัน ผู้ให้บริการบุคคลที่สามเหล่านี้ควรคาดหวังว่าจะได้รับส่วนหัว HTTP เพิ่มเติม ซึ่งระบุการลงทะเบียนในช่วงทดลองใช้จากต้นทาง
ช่วงทดลองใช้จะใช้เวลานานเท่าใด
ช่วงทดลองใช้จะพร้อมใช้งานตั้งแต่ Chrome 100 ไปจนถึง Chrome 105 ตรวจสอบกำหนดการเผยแพร่ Chrome เพื่อดูวันที่เผยแพร่ที่วางแผนไว้
วิธีลงทะเบียนในช่วงทดลองใช้จากต้นทาง
ข้อกำหนดเบื้องต้น
Chrome เวอร์ชัน 103 เวอร์ชันเสถียร
ขั้นตอน
หากต้องการลงทะเบียนช่วงทดลองใช้จากต้นทางและรับโทเค็นสำหรับโดเมนของคุณ โปรดไปที่หน้าช่วงทดลองใช้ CHIPS จากต้นทาง
รวมส่วนหัว
Origin-Trial
ด้วยโทเค็นที่ถูกต้องในคำตอบที่มีส่วนหัวSet-Cookie
ที่มีPartitioned
:Origin-Trial: <ORIGIN TRIAL TOKEN>
เพิ่มแอตทริบิวต์
Partitioned
ลงในคุกกี้ด้วย 1 ใน 2 วิธีต่อไปนี้ใน
Set-Cookie
ส่วนหัว:Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
ใน JavaScript:
cookieStore.set({ name: '__Host-name', value: 'value', secure: true, path: '/', sameSite: 'none', // Set a partitioned cookie using the attribute below. partitioned: true, });
ตัวอย่าง
เว็บไซต์ที่เข้าร่วมในช่วงทดลองใช้จากต้นทางควรมีส่วนหัวต่อไปนี้ในการตอบกลับ
Origin-Trial: <ORIGIN TRIAL TOKEN>
Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
ยืนยันว่าใช้งานได้
ตรวจสอบส่วนหัว
หากคุณเลือกใช้ช่วงทดลองใช้จากต้นทางและตั้งค่าคุกกี้ที่แบ่งพาร์ติชันเรียบร้อยแล้ว คำขอที่ตามมาจากไคลเอ็นต์ Chrome จะมีส่วนหัวของคำขอ Sec-CH-Partitioned-Cookies: ?0
จนกว่าเซสชันปัจจุบันจะสิ้นสุดลง
Sec-CH-Partitioned-Cookies: ?0
Cookie: __Host-name=value
หากเว็บไซต์ได้รับคุกกี้โดยไม่มีคำแนะนำจากไคลเอ็นต์นี้ การเลือกใช้ช่วงทดลองใช้จากต้นทางไม่สําเร็จ และคุกกี้ที่คุณได้รับไม่มีการแบ่งพาร์ติชัน
คำตอบที่ไม่มีส่วนหัว Set-Cookie
ที่มี Partitioned
จะไม่ส่งผลต่อสถานะการเข้าร่วมโปรแกรมทดลองใช้จากต้นทางของเว็บไซต์
หากคุณไม่ตอบสนองด้วยโทเค็นที่ถูกต้องในส่วนหัว Origin-Trial
คุกกี้ที่ได้รับการแบ่งพาร์ติชันในเครื่องจะถูกแปลงเป็นคุกกี้ที่ไม่ได้แบ่งพาร์ติชัน
ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบของ CHIPS ใน chromium.org
เครื่องมือสำหรับนักพัฒนาเว็บ
- ไปที่
chrome://flags/#partitioned-cookies
แล้วเปลี่ยนการตั้งค่าเป็น "เปิดใช้" - รีสตาร์ท Chromium โดยคลิก "เปิดอีกครั้ง" ที่มุมขวาล่าง หรือไปที่ chrome://restart
- ไปที่
chrome://settings/cookies
และตรวจสอบว่าได้ตั้งปุ่มตัวเลือกเป็น "อนุญาตคุกกี้ทั้งหมด" หรือ "บล็อกคุกกี้ของบุคคลที่สามในโหมดไม่ระบุตัวตน" - โหลดเว็บไซต์ที่มีการฝัง
- เปิด "เปิดเครื่องมือสำหรับนักพัฒนาเว็บ" ไปยังแอปพลิเคชัน > คุกกี้ > yourSite แล้วมองหาคอลัมน์ Partition Key (คีย์พาร์ติชัน) ใน DevTools
รายละเอียดเพิ่มเติม
ข้อกำหนดของคุกกี้
- ต้องตั้งค่าคุกกี้ที่แบ่งพาร์ติชันด้วย
Secure
(ไม่ต้องใช้Path=/
อีกต่อไป โปรดดู github.com/privacycg/CHIPS/pull/49) - ใช้แอตทริบิวต์
SameParty
ร่วมกับPartitioned.
ไม่ได้
Chrome จะบังคับใช้กฎเหล่านี้กับคุกกี้ที่ตั้งค่าด้วยแอตทริบิวต์ Partitioned
ไม่ว่าจะเปิดหรือปิดใช้การแบ่งพาร์ติชันคุกกี้ คุกกี้ที่ตั้งค่าไม่ถูกต้องจะถูกปฏิเสธ
หากปิดใช้การแบ่งพาร์ติชันคุกกี้ แต่มีการตั้งค่าคุกกี้ด้วยแอตทริบิวต์ที่ถูกต้อง Chrome จะไม่สนใจแอตทริบิวต์ Partitioned
และคุกกี้ที่ได้จะยังคงส่งคำขอไปยังโฮสต์บนเว็บไซต์ระดับบนสุดที่ต่างจากที่ตั้งค่าไว้
คุกกี้ที่แบ่งพาร์ติชันควรมีแอตทริบิวต์ SameSite=None
ด้วยเพื่อให้ส่งคุกกี้ในบริบทของบุคคลที่สามในเบราว์เซอร์ที่ไม่รองรับการแบ่งพาร์ติชันคุกกี้ได้
JavaScript และ Service Worker
เฟรมที่เลือกเข้าร่วมช่วงทดลองใช้จากต้นทางจะมีสิทธิ์เข้าถึงการอ่านและการเขียนคุกกี้ที่มีการแบ่งพาร์ติชันโดยใช้ JavaScript API เช่น document.cookie
และ CookieStore API เฟรมที่ไม่อยู่ในสคริปต์ของการทดลองใช้จะไม่สามารถอ่านหรือเขียนคุกกี้ที่มีการแบ่งพาร์ติชัน
Service Worker ไม่รองรับช่วงทดลองใช้ CHIPS ต้นทาง
มีส่วนร่วมและแชร์ความคิดเห็น
- นำเสนอปัญหาและติดตามการสนทนาใน GitHub
- ถามคำถามและเข้าร่วมการสนทนาในที่เก็บการสนับสนุนนักพัฒนาซอฟต์แวร์ของ Privacy Sandbox
- สำรวจช่องทางต่างๆ ในการให้ความคิดเห็นเกี่ยวกับข้อเสนอ Privacy Sandbox