إتاحة عناوين HTTP لواجهة برمجة التطبيقات Storage Access API

بعد تجربة ناجحة، سنطرح عناوين الوصول إلى مساحة التخزين (SAH) في الإصدار 133 من Chrome.

ما هي "عناوين الوصول إلى مساحة التخزين"؟

عناوين الوصول إلى مساحة التخزين هي عناوين HTTP جديدة تسمح للمحتوى المضمّن (مثل تطبيقات مصغّرة للوسائط الاجتماعية والتقاويم والأدوات التفاعلية والصور) بالتحقّق من إمكانية الوصول إلى ملفات تعريف الارتباط غير المقسّمة. في السابق، كان هذا الإجراء ممكنًا فقط باستخدام JavaScript. يعمل header Sec-Fetch-Storage-Access الجديد لطلب البيانات وActivate-Storage-Access header للاستجابة على تحسين الأداء وتجربة المستخدم للمواقع الإلكترونية التي تعتمد على المحتوى المضمّن، كما يتيح تحميل الموارد غير المستندة إلى إطار 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 مع مجموعة أكبر من المراجع.
  • استخدام أقل للشبكة: عدد طلبات أقل وحمولات أصغر
  • استخدام وحدة المعالجة المركزية بدرجة أقل: تقليل معالجة JavaScript
  • تجربة مستخدم محسّنة: تُلغي عمليات التحميل المؤقتة المزعجة.

تعديل الحلّ

باستخدام ميزة "رؤوس الوصول إلى مساحة التخزين"، هناك حالتان قد تحتاج فيهما إلى تعديل الرمز:

  • إذا كنت تستخدم SAA وتريد تحقيق أداء أفضل من خلال استخدام منطق العنوان لطلباتstorage-access اللاحقة.
  • لديك عملية تحقّق أو منطق يعتمد على ما إذا كان عنوان Origin مضمّنًا في الطلب المرسَل إلى خادمك.

يمكنك الاطّلاع على المستندات لمعرفة كيفية استخدام رؤوس الوصول إلى مساحة التخزين في الحلّ الذي تقدّمه.

التفاعل مع الملاحظات ومشاركتها

إذا كانت لديك ملاحظات أو واجهت أي مشاكل، يمكنك إرسال ملف بشأن مشكلة. يمكنك أيضًا الاطّلاع على مزيد من المعلومات حول رؤوس الوصول إلى مساحة التخزين في الشرح على GitHub.