سياسة المصدر نفسه وطلبات الجلب

ماريكو كوساكا

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

الإعداد: استرجاع الصفحة من المصدر نفسه

يتم استضافة العرض التوضيحي على https://same-origin-policy-fetch.glitch.me. تستخدم صفحة الويب البسيطة هذه fetch لتحميل مورد من https://same-origin-policy-fetch.glitch.me/fetch.html. بما أنّ index.html وfetch.html يتشاركان المصدر نفسه، من المفترض أن تظهر 200 في المعاينة المباشرة.

1- جلب صفحة من مصدر مختلف

جرِّب تغيير عنوان URL للاسترجاع إلى https://www.google.com. ما الذي يظهر في المعاينة المباشرة؟

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

2- استرجاع مورد من مصادر متعددة

يُرجى محاولة تغيير عنوان URL للاسترجاع إلى https://api.thecatapi.com/v1/images/search. ما الذي يظهر في المعاينة المباشرة؟

يختلف عنوان URL للجلب، ولكن من المفترض أن يظهر لك رمز الحالة 200. ولماذا؟ غالبًا ما تطلب تطبيقات الويب الحديثة موارد من مصادر متعددة لتحميل نصوص برمجية تابعة لجهات خارجية أو لطلب بحث عن نقطة نهاية لواجهة برمجة التطبيقات. لاستيعاب حالات الاستخدام هذه، هناك آلية تُسمى CORS (مشاركة الموارد المتعدّدة المصادر) لإعلام المتصفّح بأنّ تحميل مورد من مصادر متعددة المصادر مسموح به. يمكنك الاطّلاع على مشاركة الموارد المشتركة المصدر بأمان لمعرفة المزيد عن سياسة CORS.