جدول المحتويات[يخفي][يعرض]
- 1. ماذا تفهم من قبل REST؟
- 2. ماذا تقصد بـ REST API؟
- 3. ما هو بالضبط URI؟
- 4. ما هي خصائص خدمات الويب RESTful؟
- 5. ما هي المبادئ التوجيهية ل REST؟
- 6. اذكر طرق HTTP التي يدعمها REST.
- 7. وصف القيود الموضوعة بواسطة واجهة متسقة.
- 8. ما هو بالضبط مورد REST؟
- 9. ماذا تعني لك JAX-RS؟
- 10. ما الذي يميز أجاكس وريست عن بعضهما البعض؟
- 11. هل يمكنك سرد بعض عيوب خدمات الويب RESTful؟
- 12. ما الذي يميز تقنيات PUT و POST عن بعضها البعض؟
- 13. كيف تختبر خدمات الويب RESTful؟
- 14. وصف واجهة برمجة تطبيقات REST في العالم الحقيقي.
- 15. كيف تعمل بنية الخدمات المصغرة؟
- 16. ما هو بالضبط التخزين المؤقت؟
- 17. وصف الحمولة.
- 18. التفريق بين SOAP و REST؟
- 19. هل يمكن استخدام بروتوكول أمان طبقة النقل (TLS) مع REST؟
- 20. الأساليب غير الفعالة: ما هي؟ كيف تنطبق على عالم خدمات الويب RESTful؟
- 21. ما هي وظيفة مصادقة HTTP الأساسية؟
- 22. هل تعتقد أن GraphQL هي الخيار الأفضل لإنشاء بنية الخدمات المصغرة؟
- 23. ما هي الفروق الرئيسية بين طرق HTTP الآمنة وغير الفعالة؟
- 24. ماذا تعني JAX-RS API من خلال RESTful Root Resource Classes؟
- 25. ما هو ساعي البريد بالضبط ، ولماذا يتم استخدامه؟
- 26. كيف يتم الحفاظ على أمان واجهات برمجة تطبيقات REST؟
- وفي الختام
لقد أدى تطور REST إلى جعل واجهات برمجة التطبيقات سهلة الوصول بشكل لا يصدق مع الكشف أيضًا عن قوتها وإمكاناتها الكاملة. من السهل إنشاء واجهات برمجة تطبيقات REST وتخزينها مؤقتًا بسبب بنيتها الموجهة نحو الموارد.
بالإضافة إلى ذلك ، مع مرور الوقت ، كانت RESTful APIs رائدة في تطورات مهمة أخرى مثل الحوسبة السحابية والتصميم المعتمد على الخدمات المصغرة.
لذلك ، لا ينبغي أن يكون مفاجئًا أن مطوري REST API مطلوبون اليوم نظرًا للكيفية التي يقدمون بها للشركات التي توظف خدمات RESTful ميزة تنافسية. REST APIs هي اتجاه تصميم شائع.
تريد العديد من شركات تكنولوجيا المعلومات معرفة REST API من مطوري البرمجيات واسأل عنها في المقابلات الفنية.
فيما يلي بعض الأسئلة الأكثر شيوعًا في مقابلة REST API والتي ستساعدك على الاستعداد للمقابلات في العديد من الشركات إذا كنت ترغب في العمل في مجال تطوير REST API.
1. ماذا تفهم من قبل REST؟
REST هو نموذج معماري لتصميم التطبيقات المستندة إلى الويب والتي تستند إلى بروتوكول نقل النص التشعبي (HTTP).
تحدد REST معايير معينة يجب أن تلبيها خدمات الويب حتى تعتبر RESTful. تضمن هذه التوصيات نقل الطلبات والموارد بسرعة وفعالية بين العميل والخادم باستخدام بروتوكولات HTTP المعيارية.
2. ماذا تقصد بـ REST API؟
يتيح ارتباط البرنامج إلى البرنامج المعروف بواجهة برمجة التطبيقات الاتصال ومشاركة البيانات بين البرامج المستقلة. على سبيل المثال ، يمكن لموقع إخباري استخدام Twitter API لاكتشاف التغريدات ذات الصلة تلقائيًا ودمجها في القصص الإخبارية.
تُعرف واجهة برمجة التطبيقات التي تلتزم بمبادئ REST بواجهة برمجة تطبيقات REST ، والتي تُعرف أحيانًا باسم RESTful API. في واجهة برمجة تطبيقات REST ، يتم التعامل مع كل جزء من البيانات كمورد ومنح هوية مورد قياسية مميزة (URI).
على سبيل المثال ، تجعل واجهة برمجة تطبيقات Twitter كل تغريدة موردًا قابلاً للاسترداد ومتاحًا للعملاء. يمكن للمستخدمين استخدام Twitter API لنشر التغريدات وتنفيذ مهام موقع الويب الأخرى.
3. ما هو بالضبط URI؟
A شبكة الكمبيوتر يمكن الإشارة إلى المورد باستخدام URI أو معرف مورد موحد. إنه بمثابة وسيلة لفصل مورد عن آخر. قد تكون المصادر عبر الإنترنت وقد لا تكون كذلك.
نظرًا لبنيتها القياسية ، تجعل URIs من السهل الاتصال حتى بأنواع مختلفة من الموارد. يتم تضمين موقع أو اسم المورد في URIs مع سلسلة من الأحرف.
يتكون URI من مسار ومخطط واستعلام وعناصر أخرى ولكنه لا يتضمن البروتوكول.
باستخدام بروتوكول ، يتم استخدام عناوين URL (محددات مواقع الويب) للعثور على موارد على الإنترنت أو يمكن الوصول إليها من خلاله.
4. ما هي خصائص خدمات الويب RESTful؟
- نموذج خادم العميل هو أساس الخدمة.
- يمكن للخدمة الوصول إلى الموارد عبر استخدام URIs.
- تستخدم الخدمة بروتوكول HTTP للحصول على البيانات / الموارد وتشغيل الاستعلامات والقيام بمهام أخرى.
- المراسلة هو اسم الطريقة المستخدمة للاتصال بين العميل والخادم.
- يمكن لهذه الخدمات أيضًا تنفيذ النمط المعماري REST باستخدام خدمات SOAP.
- لتقليل استدعاءات الخادم لنفس النوع من الطلبات المتكررة ، تستخدم هذه الخدمات أيضًا فكرة التخزين المؤقت.
5. ما هي المبادئ التوجيهية ل REST؟
يجب استيفاء خمسة معايير بواسطة واجهات برمجة تطبيقات REST:
فصل العميل عن الخادم: يمكن استخدام سلسلة من الطلبات والردود فقط للتواصل بين العميل والخادم. العملاء والخوادم فقط هم القادرون على إرسال الطلبات والإجابات ، على التوالي. تتيح هذه الفكرة المباشرة للطرفين العمل بشكل مستقل عن بعضهما البعض.
واجهة موحدة: يجب أن يكون هناك بروتوكول موحد لجميع اتصالات الخادم والعميل. هذا البروتوكول الخاص بـ REST هو HTTP. نظرًا لأن كل تطبيق يطلب البيانات ويرسلها باستخدام نفس اللغة ، فإن الواجهة المتسقة تجعل عمليات الدمج أبسط.
عديم الحالة: لا يحفظ الخادم أي سجلات للطلبات أو الإجابات السابقة في اتصال عديم الحالة. يقدم كل طلب وإجابة جميع التفاصيل المطلوبة لإتمام التبادل. تعمل الاتصالات عديمة الحالة على تحسين السرعة وحفظ الذاكرة وتقليل الضغط على الخادم. بالإضافة إلى ذلك ، فإنه يتجنب احتمال فشل الطلب بسبب عدم اكتمال البيانات.
نظام متعدد الطبقات: يُشار إلى الخوادم الموجودة بين العميل وخادم API على أنها طبقات. تؤدي هذه الخوادم الإضافية مجموعة متنوعة من الخدمات ، مثل اكتشاف البريد العشوائي وتحسين السرعة. تعتبر الطبقات في REST معيارية ، مما يعني أنه يمكن إضافتها وحذفها دون التأثير على الاتصالات بين العميل وخادم API.
قابل للتخزين المؤقت: يمكن للعملاء تخزين أي موارد مؤقتًا لزيادة السرعة إذا كانت إجابات الخادم تشير إلى ما إذا كان المورد قابلاً للتخزين المؤقت أم لا.
الترميز عند الطلب: استجابةً لذلك ، يمكن لواجهة برمجة التطبيقات (API) نقل كود كمبيوتر قابل للتنفيذ إلى العملاء. يمكن لتطبيق العميل بعد ذلك تشغيل الكود على نهايته الخلفية.
6. اذكر طرق HTTP التي يدعمها REST.
طرق HTTP التي يدعمها REST هي:
- GET: تطلب هذه الطريقة موردًا في عنوان URL المحدد. لا ينبغي تضمين نص الطلب لأنه سيتم تجاهله. قد يكون من الممكن تخزينها مؤقتًا محليًا أو على الخادم.
- POST: ترسل هذه الطريقة البيانات إلى خدمة للمعالجة ، ويجب أن تُرجع الخدمة عادةً موردًا جديدًا أو تم تغييره.
- PUT: يتم تحديث المورد في عنوان URL للطلب.
- حذف: يتم حذف المورد من عنوان URL للطلب.
- الخيارات: تحدد الطرق المدعومة.
- HEAD: يتم إرجاع البيانات الوصفية الخاصة بعنوان URL للطلب.
7. وصف القيود الموضوعة بواسطة واجهة متسقة.
من أجل فصل العميل عن الخادم ، يلزم وجود واجهة متسقة.
لتحقيق واجهة متسقة ، فإن القيود الأربعة التالية مطلوبة:
- تحديد الموارد: يجب أن تستخدم طلبات العميل معرّفات الموارد القياسية لتحديد الموارد (URIs)
- التلاعب بالموارد باستخدام هذه التمثيلات: يمتلك العملاء جميع المعلومات المطلوبة ليكونوا قادرين على تغيير حالة المورد عندما يحصلون على تمثيل مورد من الخادم.
- رسائل الوصف الذاتي: تتضمن الرسائل جميع البيانات الوصفية والمعلومات الأخرى المطلوبة حتى يفهمها المتلقي.
- الوسائط التشعبية كمحرك حالة التطبيق: القناة للاتصال بخادم العميل هي الوسائط التشعبية ، مثل HTML ، ولا يحتاج العملاء إلى وثائق خاصة بواجهة برمجة التطبيقات لفهم إجابات الخادم.
8. ما هو بالضبط مورد REST؟
الموارد هي المكونات الأساسية لخدمة الويب RESTful في بنية REST. وهي تشمل جميع المعلومات المهمة التي يحتاجها عميل واجهة برمجة التطبيقات للوصول إليها.
يمكن الوصول إلى أي نوع من الموارد ، مثل صفحة HTML أو صورة أو مقطع فيديو أو أي شيء آخر مطلوب لنشاط واجهة برمجة التطبيقات ، من خلال الخادم في نظام خادم العميل.
يتم تحديد الموارد بواسطة معرّف الموارد المنتظم. النص أو JSON أو XML كلها تمثيلات مقبولة للموارد. بعد ذكر ذلك ، لا توجد قيود على تنسيق التمثيل.
9. ماذا تعني لك JAX-RS؟
من الأسهل إنشاء خدمات ويب RESTful في Java بفضل واجهة برمجة تطبيقات Java لخدمات الويب RESTful ، والتي تُعرف غالبًا باسم JAX-RS. يمكن للمطورين وصف الموارد والعمليات التي يمكن تنفيذها عليها باستخدام التعليقات التوضيحية المتوفرة.
10. ما الذي يميز أجاكس وريست عن بعضهما البعض؟
اياكس:
- Ajax هي مجموعة من التقنيات التي تسمح بالتحديث الديناميكي لـ واجهة المستخدم العناصر دون الحاجة إلى إعادة تحميل الصفحة.
- يزيل Ajax الاتصال غير المتزامن بين العميل والخادم.
استراحة:
- تتطلب REST الاتصال بين الخادم والعميل.
- يعد استخدام الموارد أمرًا مهمًا لبنية عنوان URL ونمط الطلب / الاستجابة الذي يستخدمه REST.
11. هل يمكنك سرد بعض عيوب خدمات الويب RESTful؟
لا يمكن الاستمرار في الجلسات لأن الخدمات تلتزم بمفهوم انعدام الجنسية. (العميل مسؤول عن تمرير معرف الجلسة طوال محاكاة الجلسة.)
القيود الأمنية ليست أساسية لـ REST. البروتوكولات التي تستخدمها ترث احتياطات الأمان. لذلك ، من المهم توخي الحذر أثناء وضع الإجراءات الأمنية ، مثل دمج المصادقات المستندة إلى SSL / TLS.
12. ما الذي يميز تقنيات PUT و POST عن بعضها البعض؟
وضع:
- لا توجد ذاكرة تخزين مؤقت لاستجابات PUT.
- غير فعال (أي أن الطلبات المتعددة ستؤدي إلى نفس النتيجة)
- يتم تحديث حمولة الطلب أو يستبدل المورد الهدف.
بريد:
- غير فعال (على سبيل المثال ، ستؤدي الطلبات المتعددة إلى مضاعفات نفس المورد)
- يعالج خادم الويب حمولة الطلب بناءً على المورد المقصود.
- إذا تم تضمين الرأس المناسب للتحكم في ذاكرة التخزين المؤقت ، فيمكن تخزين ردود POST مؤقتًا.
13. كيف تختبر خدمات الويب RESTful؟
يمكن مساعدة اختبار خدمة الويب RESTful بواسطة عدد من الأدوات ، بما في ذلك Swagger و Postman. أصبح فحص معلمات الطلب مثل معلمات الاستعلام والعناوين ورؤوس الاستجابة ممكنًا من خلال وفرة الميزات في الأخير.
يمكن استخدام ساعي البريد لتقديم طلبات إلى نقاط النهاية وإظهار النتائج. ويمكن إنشاء XML و JSON من هذه الإجابات.
يوفر كل من Postman و Swagger وظائف قابلة للمقارنة للغاية. من ناحية أخرى ، يقدم Swagger أيضًا إمكانات مثل توثيق نقطة النهاية.
14. وصف واجهة برمجة تطبيقات REST في العالم الحقيقي.
- يمكن لمواقع السفر وحجز التذاكر الاستفادة من مواعيد الرحلات والأسعار التي توفرها شركات الطيران من خلال واجهات برمجة التطبيقات.
- من أجل استخدام تطبيقات الخرائط والتنقل (مثل خرائط Google) ، غالبًا ما تتيح وكالات النقل العام بياناتها للجمهور في الوقت الفعلي عبر واجهات برمجة التطبيقات.
- تستخدم تطبيقات الطقس واجهات برمجة التطبيقات المفتوحة التي تتبادل بيانات الطقس لعرض معلومات الطقس.
- يمكن للمطورين الوصول إلى بيانات خرائط Google عبر عدد من واجهات برمجة التطبيقات المستضافة. يستخدم المطورون واجهات برمجة التطبيقات هذه لتضمين خرائط ديناميكية في تطبيقاتهم ومواقعهم الإلكترونية.
15. كيف تعمل بنية الخدمات المصغرة؟
- يتم إرسال الطلبات من قبل العديد من العملاء باستخدام أجهزة مختلفة.
- بعد التأكد من هويات العملاء ، يوفر موفرو الهوية رموز الأمان.
- تتم إدارة طلبات العميل بواسطة API Gateway.
- يتم الاحتفاظ بجميع مواد النظام كمحتوى ثابت.
- تتحقق أداة الإدارة من رصيد الخدمات على العقد وأي أخطاء.
- اكتشاف مسار الاتصال بين الخدمات المصغرة يساعده اكتشاف الخدمة.
- تشكل مراكز البيانات والخوادم الوكيلة أنظمة شبكة متفرقة تسمى شبكات توصيل المحتوى.
- توفر الخدمات عن بُعد الوصول إلى المعلومات من مسافة بعيدة.
16. ما هو بالضبط التخزين المؤقت؟
تُعرف ممارسة الاحتفاظ مؤقتًا بنسخة من إجابة الخادم في مكان ما (مثل ذاكرة الكمبيوتر) من أجل الوصول إليها لاحقًا بسرعة أكبر باسم التخزين المؤقت.
يعمل التخزين المؤقت على تحسين سرعة الخادم عند استخدام واجهات برمجة تطبيقات REST عن طريق تقليل حجم العمل الذي يجب على الخادم القيام به لتلبية الطلب. تعمل التطبيقات التي تستخدم واجهة برمجة التطبيقات بشكل أسرع بفضل التخزين المؤقت لأنه لا يتعين عليها إرسال طلب جديد في كل مرة يحتاجون فيها إلى مورد.
يحتوي حقل Cache-Control الخاص برأس استجابة HTTP على معلومات حول المدة التي يمكن للعميل خلالها تخزين المورد مؤقتًا قبل أن يحتاج إلى الوصول إليه مرة أخرى.
17. وصف الحمولة.
تشير الحمولة في REST إلى المعلومات الموجودة في نص استجابة HTTP. استخدم العميل تقنية GET لطلب البيانات المعنية.
سيتم تضمين المستند الذي يحتوي على نص التغريدة وأي ملفات ضرورية لوضع التغريدة على موقع ويب في الحمولة ، على سبيل المثال ، إذا طلبت Twitter API لتغريدة معينة. بالإضافة إلى ذلك ، يمكن تضمين الحمولة في طلب HTTP باستخدام طريقة POST.
18. التفريق الصابون مقابل الراحة?
- على عكس SOAP ، الذي يمكنه التعامل مع XML فقط ، يتيح REST نطاقًا أوسع من تنسيقات الموارد ، بما في ذلك XML والنصوص و HTML والصور والفيديو والمزيد.
- عندما يكون الأمان أمرًا بالغ الأهمية للتطبيقات عبر الإنترنت ، يكون SOAP مفيدًا. لا يمكن استخدام REST عندما يجب إتمام المعاملات بشكل آمن لأنها ليست آمنة بشكل خاص.
- نظرًا لأن SOAP هو مجرد بروتوكول ، يمكن لـ REST استخدامه في خدمات الويب الخاصة به ولكن ليس العكس.
- في حين أن REST هو مجرد نمط معماري يستخدم لتطوير خدمات الويب ويلتزم بقيود معينة مثل إعداد خادم العميل ، وانعدام الحالة ، والاستجابة القابلة للتخزين المؤقت ، والأنظمة ذات الطبقات ، والواجهة المتسقة ، فإن SOAP هو بروتوكول يعمل وفقًا لمعايير معينة يجب الالتزام بها بصرامة إلى.
- بينما يستخدم REST معرفات الموارد العالمية (URIs) ، يستخدم SOAP واجهات الخدمة لتوفير إمكاناته لتطبيقات العميل. تتطلب REST نطاقًا تردديًا أقل من SOAP نظرًا لأن رسائل SOAP ثقيلة بالمعلومات.
19. هل يمكن استخدام بروتوكول أمان طبقة النقل (TLS) مع REST؟
في الحقيقة ، نستطيع. يتم تشفير اتصالات العميل والخادم REST عبر TLS ، كما يمنح البروتوكول العملاء طريقة لمصادقة الخوادم.
نظرًا لحقيقة أنه بديل Secure Socket Layer ، يتم استخدامه للاتصال الآمن (SSL). ينجح تنفيذ خدمات الويب RESTful مع HTTPS لأنه يتعاون بشكل فعال مع كل من TLS و SSL.
يرث REST خصائص البروتوكول الذي ينفذه ، وهو شيء يجب ملاحظته هنا. نتيجة لذلك ، تعتمد الحماية الأمنية على البروتوكول الذي تستخدمه REST.
20. الأساليب غير الفعالة: ما هي؟ كيف تنطبق على عالم خدمات الويب RESTful؟
عندما يكون URI هو نفسه ، فإن بعض طرق HTTP في الطلب يكون لها نفس التأثير على الخادم سواء تم تسليمها مرة واحدة أو عدة مرات. تُعرف هذه التقنيات بقدرات الخمول.
على سبيل المثال ، بغض النظر عن عدد مرات تشغيل URI باستخدام طريقة GET ، سيواجه الخادم دائمًا نفس النتيجة. تتضمن طرق Idempotent GET و PUT و PATCH ، على سبيل المثال لا الحصر.
طرق HTTP غير الفعالة هي بعض من تلك المستخدمة بواسطة RESTful تطبيقات الويب. إنها ضرورية لضمان الاتساق في أنشطة خدمات الويب RESTful.
يمكن للعملاء الذين يستخدمون REST APIs ارتكاب أخطاء برمجية تجبر REST API على تقديم طلبات متكررة عن طريق الخطأ. هذه المكالمات لديها القدرة على إساءة استخدام الموارد.
21. ما هي وظيفة مصادقة HTTP الأساسية؟
عند استخدام المصادقة الأساسية كجزء من واجهات برمجة التطبيقات ، يجب على المستخدم إرسال اسم المستخدم وكلمة المرور ، اللذين يتم ربطهما بواسطة المتصفح في شكل "اسم المستخدم: كلمة المرور" و base64 المشفر.
في كل طلب HTTP من المتصفح ، يتم تسليم القيمة المشفرة كقيمة لرأس "التفويض". نظرًا لأن بيانات الاعتماد تم تشفيرها فقط ، فمن المستحسن استخدام هذا النموذج عند إرسال طلبات HTTPS لأنها ليست آمنة ويمكن لأي شخص اعتراضها إذا لم يتم استخدام بروتوكولات الأمان.
22. هل تعتقد أن GraphQL هي الخيار الأفضل لإنشاء بنية الخدمات المصغرة؟
تتماشى الخدمات المصغرة و GraphQL بشكل مثالي لأن GraphQL تحافظ على سرية بنية الخدمات المصغرة الخاصة بك عن عملائك.
من الواجهة الأمامية ، تريد أن تأتي جميع بياناتك من واجهة برمجة تطبيقات واحدة ، بينما تريد من النهاية الخلفية تقسيمها إلى خدمات مصغرة. أفضل أسلوب على دراية به لتحقيق كلا الأمرين هو استخدام GraphQL.
يمكّنك من تقسيم الواجهة الخلفية الخاصة بك إلى خدمات مصغرة مع الاستمرار في إعطاء كل تطبيق واجهة برمجة تطبيقات واحدة وتمكين عمليات الربط عبر البيانات من الخدمات المختلفة.
23. ما هي الفروق الرئيسية بين طرق HTTP الآمنة وغير الفعالة؟
تنتج الطرق الخاملة نفس النتيجة عند استدعائها مرة واحدة أو عدة مرات من خلال نفس الطلب. طريقة PUT غير فعالة.
جميع الطرق الآمنة غير فعالة ، ولكن ليست كل الطرق المثفرة آمنة لأن الطرق الآمنة لا تغير الموارد. على سبيل المثال ، GET آمن لأنه يسترد البيانات فقط ولا يغير المورد.
بالإضافة إلى ذلك ، فهي غير فعالة ، مما يعني أنها ستعيد دائمًا نفس الإجابة عند استدعائها.
24. ماذا تعني JAX-RS API من خلال RESTful Root Resource Classes؟
يوفر Java Enterprise Edition فئات وواجهات تلتزم بمتطلبات JAX-RS API. بمساعدة JAX-RS ، أصبح إنشاء خدمات ويب Java في النمط المعماري REST أسهل.
في JAX-RS API ، تعتبر فئات موارد الجذر مجرد "كائنات جافا قديمة عادية" أو POJO. من أجل تنفيذ موارد الويب اللازمة ، فإنهم يستخدمون تعليقات JAX-RS التوضيحية.
إما أن يكون لديهم تعليقات توضيحيةpath أو أن إحدى طرقهم على الأقل تحتوي على تعليقات توضيحيةpath. يمكن تلخيصها على أنها فئات Java مع طرق للتعامل مع نقاط نهاية API.
25. ما هو ساعي البريد بالضبط ، ولماذا يتم استخدامه؟
تُستخدم أداة تطوير API تسمى Postman لإنشاء واختبار وتعديل واجهات برمجة التطبيقات. يمكن للمطورين استخدام هذه الأداة لأي ميزة يحتاجونها لواجهة برمجة التطبيقات. يبسط ويسهل عمل المطورين.
يجعل Postman من السهل إجراء مجموعة متنوعة من استعلامات HTTP ، بما في ذلك GET و POST و PUT و PATCH ، وحفظ البيئات لاستخدامها لاحقًا وتحويل واجهات برمجة التطبيقات إلى كود بعدد من اللغات المختلفة.
يتم جعل كل مرحلة من مراحل دورة API أبسط مع Postman ، ويتم تبسيط التعاون من أجل تطوير أسرع لواجهة برمجة التطبيقات.
بالإضافة إلى ذلك ، فإنه يمكّن المطورين من إدارة الوثائق والمواصفات وحالات الاختبار والعمليات وكتالوجات API.
26. كيف يتم الحفاظ على أمان واجهات برمجة تطبيقات REST؟
نظرًا لأن واجهات برمجة تطبيقات REST لا تستخدم كضمانات أمنية صارمة مثل واجهات برمجة تطبيقات SOAP ، فلا ينبغي إرسال البيانات الحساسة أو استردادها باستخدامها.
ومع ذلك ، تواصل REST APIs الجديرة بالثقة دمج ضوابط الأمان لعمليات نقل البيانات بشكل آمن ويمكن الاعتماد عليه.
- المصادقة والترخيص: يجب أن يجتاز كل طلب يتم إجراؤه إلى واجهة برمجة التطبيقات هذين الفحصين. التحقق من هوية العميل من خلال المصادقة والتحقق من أن لديهم سلطة الوصول إلى الموارد المطلوبة من خلال التفويض هما عمليتان مختلفتان.
- التحقق من الصحة: قبل أن تمنح واجهة برمجة التطبيقات الوصول إلى مواردها ، لا يزال يتعين فحص الطلبات بحثًا عن رمز قد يكون ضارًا بعد المصادقة والترخيص. وبالتالي سيكون الخادم مفتوحًا لهجوم الحقن.
- التحقق من الصحة: قبل أن تمنح واجهة برمجة التطبيقات الوصول إلى مواردها ، لا يزال يتعين فحص الطلبات بحثًا عن رمز قد يكون ضارًا بعد المصادقة والترخيص. وبالتالي سيكون الخادم مفتوحًا لهجوم الحقن.
- التشفير: يحمي تشفير TLS / SSL الاتصال بين العميل والخادم ويمنع المتسللين من اعتراض الطلبات والإجابات.
- تحمي تقنيات تحديد المعدل ، مثل القيود والاختناق ، الخوادم من هجمات القوة الغاشمة مثل DDoS التي تهدف إلى إضعافها أو تحطيمها.
- لا توجد معلومات حساسة في URIs: يجب ألا تحتوي عناوين URI للموارد على أي بيانات محمية (مثل اسم المستخدم أو كلمة المرور أو رمز المصادقة المميز).
وفي الختام
تهانينا! العديد من أسئلة مقابلة REST API المعقدة والحلول الخاصة بها في متناول يدك الآن.
الآن بعد أن أصبح لديك مفهوم جيد عن كيفية الرد على بعض أسئلة مقابلة REST API النموذجية ، يمكنك المتابعة للرد على المقابلات. الخطوة التالية تعتمد على أهدافك.
قم بزيارتنا سلسلة المقابلة مع Hashdork للتحضير للمقابلات.
اترك تعليق