في هذا الدرس التطبيقي حول الترميز، يمكنك التعرّف على آلية عمل المصدر نفسه عند جلب المراجع.
عملية الإعداد: استرجاع الصفحة من المصدر نفسه
تتم استضافة العرض التوضيحي على 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).