การรองรับส่วนหัว 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 ไว้ในคำขอข้ามเว็บไซต์โดยอัตโนมัติ ซึ่งอาจต้องใช้ข้อมูลเข้าสู่ระบบ (เช่น คุกกี้) ส่วนหัวนี้บ่งบอกสถานะสิทธิ์การเข้าถึงคุกกี้ของชิ้นงาน และมีค่าได้ดังนี้

  • 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