هدرهای HTTP از Storage Access API پشتیبانی می کنند

ناتالیا مارکوبورودووا
Natalia Markoborodova

پس از یک دوره آزمایشی موفقیت‌آمیز در نسخه اصلی ، هدرهای دسترسی به حافظه (SAH) را در کروم ۱۳۳ ارائه می‌دهیم.

هدرهای دسترسی به حافظه چیستند؟

هدرهای دسترسی به حافظه، هدرهای HTTP جدیدی هستند که به محتوای جاسازی‌شده (مانند ویجت‌های رسانه‌های اجتماعی، تقویم‌ها، ابزارهای تعاملی و تصاویر) اجازه می‌دهند تا دسترسی به کوکی‌های پارتیشن‌بندی‌نشده را بررسی کنند. پیش از این، این کار فقط با جاوا اسکریپت امکان‌پذیر بود. هدر درخواست 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 : به مرورگر دستور می‌دهد که به جاسازی‌کننده (embedder) دسترسی به کوکی‌های پارتیشن‌بندی نشده برای منبع درخواستی را اعطا کند. گنجاندن این هدر معادل فراخوانی document.requestStorageAccess() در صورت اعطای مجوز storage-access است. هیچ پیام اضافی به کاربر نمایش داده نمی‌شود.

  • retry : سرور پاسخ می‌دهد که مرورگر باید مجوز دسترسی به فضای ذخیره‌سازی را فعال کند، سپس درخواست را دوباره امتحان کند.

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

مزایای کلیدی

هدرهای دسترسی به حافظه روشی توصیه‌شده و کارآمدتر برای استفاده از API دسترسی به حافظه (SAA) است. به‌طورکلی، این تغییر چندین بهبود را به همراه دارد:

  • پشتیبانی از جاسازی‌های غیر iframe: SAA را برای طیف وسیع‌تری از منابع فعال می‌کند.
  • کاهش استفاده از شبکه: درخواست‌های کمتر و بارهای داده کوچکتر.
  • استفاده کمتر از CPU: پردازش کمتر جاوا اسکریپت.
  • تجربه کاربری بهبود یافته: بارهای میانی مزاحم را حذف می‌کند.

راهکار خود را به‌روزرسانی کنید

با ویژگی Storage Access Headers، دو حالت وجود دارد که ممکن است بخواهید کد خود را به‌روزرسانی کنید:

  • شما از SAA استفاده می‌کنید و می‌خواهید با استفاده از منطق هدر برای درخواست‌های بعدی storage-access به عملکرد بهتری دست یابید.
  • شما اعتبارسنجی یا منطقی دارید که بستگی به این دارد که آیا هدر Origin در درخواست به سرور شما گنجانده شده است یا خیر.

برای یادگیری نحوه استفاده از هدرهای دسترسی به حافظه در راهکار خود ، مستندات ما را بررسی کنید.

مشارکت کنید و بازخورد خود را به اشتراک بگذارید

اگر بازخوردی دارید یا با مشکلی مواجه شدید، می‌توانید مشکل خود را ثبت کنید. همچنین می‌توانید در توضیح GitHub درباره Storage Access Headers اطلاعات بیشتری کسب کنید.