CORSمشاركة الموارد بين المواقع
ما هو CORS؟
CORS قاعدة في المتصفح تمنع صفحة من مخاطبة موقع آخر لم يأذن لها.
ما معنى CORS بالعربي؟
الاسم المعتمد الآن هو «مشاركة الموارد بين المواقع». ولأن كثيرًا من المصطلحات لم يستقرّ لها اسم عربي واحد، يكتب هذا القاموس قرّاؤه: صوّت للاسم الذي تراه أوضح، أو اقترح اسمًا أفضل. نراجع الأصوات في كل جولة ونعتمد ما يختاره الناس.
-
مشاركة الموارد بين المواقع الاسم المعتمد اسم القاموس
-
كورس نطق الاختصار الشائع
-
مشاركة الموارد عبر المصادر الترجمة الحرفية للاسم الكامل
صوت واحد لكل قارئ في كل مصطلح، وتستطيع نقله إلى اسم آخر. حين يتجاوز اسمٌ الاسمَ المعتمد ويصل إلى 5 أصوات على الأقل، نعرضه للاعتماد في الجولة التالية.
اقترح اسمًا عربيًا أفضل
هل الشرح غير واضح أو فيه خطأ؟
على باب القاعة حبل مخملي وبوّاب ضخم يحمل لوحة بأسماء المدعوين. تتقدم، فيرفع يده ويسأل: «من أرسلك؟» ثم ينظر في القائمة. إن كان اسم من أرسلك مكتوبًا دخلت، وإلا عدت أدراجك. القائمة ليست عندك؛ هي عند صاحب القاعة.
الخطأ الذي يحيّر كل من يبني شيئًا على الويب أول مرة يقول: «blocked by CORS policy». يبدو كاتهام، وليس كذلك. المتصفح يفحص قائمة مدعوين فحسب.
الصورة كاملة: موقعك (الواجهة الأمامية التي تعمل داخل متصفح الزائر) يريد بيانات من خدمة تعيش على عنوان آخر؛ لنقل إن متجرك على store.example يطلب من api.other.example. قبل أن يرسل المتصفح الطلب، يسأل الخدمة الأخرى: «هل store.example مسموح له أن يكلّمك من داخل متصفح؟». إن كانت الخدمة قد وضعت اسم موقعك في قائمتها، مرّ الطلب. وإلا ظهر الخطأ.
من يطبّق هذا هو المتصفح، وهو يفعله لحمايتك أنت. لولاه لاستطاع موقع مريب فتحته في نافذة أن يرسل طلبات إلى بنكك في نافذة أخرى مستغلًا أنك مسجّل الدخول هناك. فالمتصفح حارسك الشخصي، وإن كان يصوغ الرفض كأنك المتهم.
العلامة التي تؤكد أن المشكلة CORS: الطلب نفسه ينجح من أي مكان غير المتصفح. وكيل يستدعي الخدمة، أو أمر في سطر الأوامر، أو خادمك يكلّم خادمهم، كلها تمرّ بلا بوّاب، لأن القاعدة قاعدة متصفحات فقط.
والحل غالبًا ليس في يدك: على الخدمة الأخرى أن تضيف موقعك إلى قائمتها، وهو إعداد صغير عندهم. إن كنت تملك الطرفين أضفته بنفسك. وإن لم تملك الطرف الآخر، فالحل المعتاد أن يمرّ الطلب عبر خادمك أنت ثم إلى الخدمة، من خادم إلى خادم، حيث لا حبل ولا بوّاب.
لحظة من حياتك: صمّمت صفحة هبوط لحملة، وتريدها أن تعرض أسعار منتجاتك مباشرة من نظام المتجر. تفتحها فتظهر فارغة، وفي أدوات المتصفح رسالة CORS. لم تكسر شيئًا؛ نظام المتجر لم يضع صفحتك على قائمته بعد.
لماذا يهمك CORS؟
حين يظهر هذا الخطأ لن تهدر يومًا في الشك بنفسك، وستعرف أن تسأل: من يملك الطرف الآخر؟ وهل نضيف موقعنا إلى قائمته أم نمرّر الطلب عبر خادمنا؟
متى ستسمع كلمة CORS؟
يقول لك المطوّر: «الطلب يعمل من الخادم ويفشل من المتصفح، إنها مشكلة CORS».
