คุกกี้ที่มีช่วงทดลองใช้จากต้นทางสถานะที่แบ่งพาร์ติชันอิสระ (CHIPS)

ตั้งแต่ Chrome 100 เป็นต้นไป ช่วงทดลองใช้ CHIPS จากต้นทางอนุญาตให้เลือกใช้คุกกี้ในพื้นที่เก็บข้อมูลที่ "แบ่งพาร์ติชันแล้ว" โดยมีโถคุกกี้แยกต่างหากสำหรับแต่ละเว็บไซต์ระดับบนสุด

การเปลี่ยนแปลง

CHIPS คืออะไร

คุกกี้ที่มีสถานะพาร์ติชันอิสระ (CHIPS) เป็นข้อเสนอ Privacy Sandbox ที่ช่วยให้นักพัฒนาซอฟต์แวร์เลือกคุกกี้เข้าสู่พื้นที่เก็บข้อมูลที่ "แบ่งพาร์ติชันแล้ว" โดยมีขวดคุกกี้แยกต่างหากสำหรับแต่ละเว็บไซต์ระดับบนสุด

คุกกี้ของบุคคลที่สามที่แบ่งพาร์ติชันแล้วจะผูกกับเว็บไซต์ระดับบนสุดที่ตั้งค่าในตอนแรกและไม่สามารถเข้าถึงจากที่อื่นได้ เป้าหมายคืออนุญาตให้บริการของบุคคลที่สามตั้งค่าคุกกี้ได้ แต่จะอ่านภายในบริบทของเว็บไซต์ระดับบนสุดที่ตั้งค่าในตอนแรกเท่านั้น

ช่วงทดลองใช้จากต้นทางมีไว้สำหรับใคร

ช่วงทดลองใช้นี้มีให้บริการเป็นช่วงทดลองใช้จากต้นทางของบุคคลที่สาม ซึ่งช่วยให้ผู้ให้บริการเนื้อหาที่ฝังไว้ได้ลองใช้ฟีเจอร์ใหม่ในหลายๆ เว็บไซต์

หากเว็บไซต์ลงทะเบียนทดลองใช้ในฐานะบุคคลที่หนึ่ง ฟังก์ชันการทำงานของการแบ่งพาร์ติชันคุกกี้จะพร้อมใช้งานสำหรับผู้ให้บริการเนื้อหาที่เป็นบุคคลที่สามในเว็บไซต์นั้นด้วย ผู้ให้บริการบุคคลที่สามเหล่านี้ควรคาดหวังว่าจะได้รับส่วนหัว HTTP เพิ่มเติม ซึ่งระบุการลงทะเบียนเข้าร่วมช่วงทดลองใช้จากต้นทาง

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

ช่วงทดลองใช้จะมีตั้งแต่ Chrome 100 ถึง Chrome 105 ตรวจสอบกำหนดการเผยแพร่ Chrome สำหรับวันที่กำหนดการเผยแพร่ที่วางแผนไว้

วิธีลงทะเบียนช่วงทดลองใช้จากต้นทาง

ข้อกำหนดเบื้องต้น

Chrome เวอร์ชันเสถียร 103

ขั้นตอน

  1. หากต้องการลงทะเบียนช่วงทดลองใช้จากต้นทางและรับโทเค็นสำหรับโดเมน โปรดไปที่หน้าช่วงทดลองใช้ CHIPS จากต้นทาง

  2. ใส่ส่วนหัว Origin-Trial ซึ่งมีโทเค็นที่ถูกต้องในการตอบกลับที่มีส่วนหัว Set-Cookie ที่มี Partitioned ดังนี้

    Origin-Trial: <ORIGIN TRIAL TOKEN>
    
  3. เพิ่มแอตทริบิวต์ 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

  1. ไปที่ chrome://flags/#partitioned-cookies แล้วเปลี่ยนการตั้งค่าเป็น "เปิดใช้"
  2. รีสตาร์ท Chromium โดยคลิกปุ่ม "เปิดใหม่" ที่มุมล่างขวา หรือไปที่ chrome://restart
  3. ไปที่ chrome://settings/cookies และตรวจสอบว่าได้ตั้งค่าปุ่มตัวเลือกเป็น "อนุญาตคุกกี้ทั้งหมด" หรือ "บล็อกคุกกี้ของบุคคลที่สามในโหมดไม่ระบุตัวตน"
  4. โหลดไซต์ที่มีการฝัง
  5. เปิด 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 จากต้นทาง

มีส่วนร่วมและแชร์ความคิดเห็น