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

Natalia Markoborodova
Natalia Markoborodova

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

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

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

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

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

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

  • 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 น้อยลง
  • ปรับปรุงประสบการณ์ของผู้ใช้: ไม่ต้องโหลดระหว่างกลางที่ขัดจังหวะ

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

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

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

ดูเอกสารประกอบ เพื่อดูวิธีใช้ Storage Access Headers ในโซลูชัน

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

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