پس از یک دوره آزمایشی موفقیتآمیز در نسخه اصلی ، هدرهای دسترسی به حافظه (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 اطلاعات بیشتری کسب کنید.