การรองรับส่วนหัว HTTP สำหรับ Storage Access API

หลังจากช่วงทดลองใช้จากต้นทางที่ประสบความสำเร็จ เรากำลังเปิดตัวส่วนหัวการเข้าถึงพื้นที่เก็บข้อมูล (SAH) ใน Chrome 133

ส่วนหัวการเข้าถึงพื้นที่เก็บข้อมูลคืออะไร

ส่วนหัวการเข้าถึงพื้นที่เก็บข้อมูลคือส่วนหัว HTTP ใหม่ที่อนุญาตให้เนื้อหาที่ฝัง (เช่น วิดเจ็ตโซเชียลมีเดีย ปฏิทิน เครื่องมือแบบอินเทอร์แอกทีฟ และรูปภาพ) ตรวจสอบการเข้าถึงคุกกี้ที่ไม่ได้แบ่งพาร์ติชัน ก่อนหน้านี้ การดำเนินการนี้ทำได้ด้วย JavaScript เท่านั้น Sec-Fetch-Storage-Accessส่วนหัวคำขอและActivate-Storage-Accessส่วนหัวคำตอบใหม่จะช่วยปรับปรุงประสิทธิภาพและประสบการณ์ของผู้ใช้สำหรับเว็บไซต์ที่ใช้เนื้อหาที่ฝัง และรองรับการโหลดทรัพยากรที่ไม่ใช่ iframe ดูรายละเอียดการใช้งานได้ในเอกสารประกอบ

ส่วนหัวของคำขอ

  Sec-Fetch-Storage-Access: <access-status>

เมื่อผู้ใช้เข้าชมหน้าที่ฝังเนื้อหาข้ามเว็บไซต์เบราว์เซอร์จะใส่ส่วนหัว Sec-Fetch-Storage-Access ไว้ในคําขอข้ามเว็บไซต์โดยอัตโนมัติ ซึ่งอาจต้องใช้ข้อมูลเข้าสู่ระบบ (เช่น คุกกี้) ส่วนหัวนี้ระบุสถานะสิทธิ์การเข้าถึงคุกกี้ของชิ้นงาน และอาจมีค่าต่อไปนี้

  • none: แทรกไม่มีสิทธิ์ storage-access จึงไม่มีสิทธิ์เข้าถึงคุกกี้ที่ไม่ได้แบ่งพาร์ติชัน

  • inactive: ชิ้นงานฝังมีสิทธิ์ storage-access แต่ไม่ได้เลือกใช้สิทธิ์นั้นในบริบทปัจจุบัน การฝังไม่มีสิทธิ์เข้าถึงคุกกี้ที่ไม่ได้แบ่งพาร์ติชัน

  • active: การฝังมีสิทธิ์เข้าถึงคุกกี้ที่ไม่ได้แบ่งพาร์ติชัน ค่านี้จะรวมอยู่ในคําขอข้ามแหล่งที่มาซึ่งมีสิทธิ์เข้าถึงคุกกี้ที่ไม่ได้แบ่งพาร์ติชัน

ส่วนหัวการตอบกลับ

  Activate-Storage-Access: <retry-or-load>

ส่วนหัว Activate-Storage-Access จะสั่งให้เบราว์เซอร์ลองส่งคำขออีกครั้งด้วยคุกกี้ หรือโหลดทรัพยากรโดยตรงโดยเปิดใช้งาน Storage Access API (SAA) ส่วนหัวอาจมีค่าดังต่อไปนี้

  • load: สั่งให้เบราว์เซอร์ให้สิทธิ์ผู้ฝังเข้าถึงคุกกี้ที่ไม่ได้แบ่งพาร์ติชันสําหรับทรัพยากรที่ขอ การใส่ส่วนหัวนี้เทียบเท่ากับการเรียก document.requestStorageAccess() หากมีสิทธิ์ storage-access ระบบจะไม่แสดงข้อความแจ้งเพิ่มเติมต่อผู้ใช้

  • retry: เซิร์ฟเวอร์ตอบกลับว่าเบราว์เซอร์ควรเปิดใช้งานสิทธิ์เข้าถึงพื้นที่เก็บข้อมูล จากนั้นลองส่งคำขออีกครั้ง

  Activate-Storage-Access: retry; allowed-origin="https://site.example"
  Activate-Storage-Access: retry; allowed-origin=*
  Activate-Storage-Access: load

ข้อดีที่สำคัญ

ส่วนหัวการเข้าถึงพื้นที่เก็บข้อมูลเป็นวิธีที่มีประสิทธิภาพมากขึ้นซึ่งเราขอแนะนําให้ใช้ Storage Access API (SAA) โดยรวมแล้ว การเปลี่ยนแปลงนี้มีการปรับปรุงหลายประการ ดังนี้

  • การรองรับการฝังที่ไม่ใช่ iframe: เปิดใช้ SAA สําหรับทรัพยากรที่หลากหลายมากขึ้น
  • การใช้เครือข่ายลดลง: คำขอน้อยลงและเพย์โหลดมีขนาดเล็กลง
  • การใช้งาน CPU ลดลง: การประมวลผล JavaScript น้อยลง
  • UX ที่ดีขึ้น: กำจัดการโหลดขั้นกลางที่รบกวน

อัปเดตโซลูชัน

เมื่อใช้ฟีเจอร์ส่วนหัวการเข้าถึงพื้นที่เก็บข้อมูล คุณอาจต้องอัปเดตโค้ดใน 2 กรณีต่อไปนี้

  • คุณใช้ SAA และต้องการเพิ่มประสิทธิภาพให้ดียิ่งขึ้นโดยใช้ตรรกะส่วนหัวสําหรับคําขอ storage-access รายการถัดไป
  • คุณมีการตรวจสอบหรือตรรกะซึ่งขึ้นอยู่กับว่าคำขอที่ส่งไปยังเซิร์ฟเวอร์มีส่วนหัว Origin หรือไม่

ดูเอกสารประกอบเพื่อดูวิธีใช้ส่วนหัวการเข้าถึงพื้นที่เก็บข้อมูลในโซลูชันของคุณ

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

หากมีความคิดเห็นหรือพบปัญหา คุณสามารถยื่นปัญหาได้ นอกจากนี้ คุณยังดูข้อมูลเพิ่มเติมเกี่ยวกับส่วนหัวการเข้าถึงพื้นที่เก็บข้อมูลได้ในคำอธิบายของ GitHub