ตั้งแต่ Chrome 100 เป็นต้นไป ช่วงทดลองใช้ CHIPS จากต้นทางอนุญาตให้เลือกใช้คุกกี้ในพื้นที่เก็บข้อมูลที่ "แบ่งพาร์ติชันแล้ว" โดยมีโถคุกกี้แยกต่างหากสำหรับแต่ละเว็บไซต์ระดับบนสุด
การเปลี่ยนแปลง
- กันยายน 2022: ดูข้อมูลที่อัปเดตเกี่ยวกับการขยายช่วงทดลองใช้จากต้นทางผ่าน Chrome 106
- มิถุนายน 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
DevTools
- ไปที่
chrome://flags/#partitioned-cookies
แล้วเปลี่ยนการตั้งค่าเป็น "เปิดใช้" - รีสตาร์ท Chromium โดยคลิกปุ่ม "เปิดใหม่" ที่มุมล่างขวา หรือไปที่ chrome://restart
- ไปที่
chrome://settings/cookies
และตรวจสอบว่าได้ตั้งค่าปุ่มตัวเลือกเป็น "อนุญาตคุกกี้ทั้งหมด" หรือ "บล็อกคุกกี้ของบุคคลที่สามในโหมดไม่ระบุตัวตน" - โหลดไซต์ที่มีการฝัง
- เปิด DevTools ไปที่แอปพลิเคชัน > คุกกี้ > yourSite และมองหาคอลัมน์ partition Key ใน DevTools
รายละเอียดเพิ่มเติม
ข้อกำหนดเกี่ยวกับคุกกี้
- ต้องตั้งค่าคุกกี้ที่แบ่งพาร์ติชันด้วย
Secure
และPath=/
- ใช้แอตทริบิวต์
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