شروحات
أخر الأخبار

ما هو API ؟ وكيف يعمل API ؟ وفيما يستخدم API ؟

API

ما هو API؟

واجهة برمجة التطبيقات (API) هي طريقة يستخدمها جزء من البرنامج لوظائف جزء آخر من البرنامج.

ماهو API
ماهو API

ما هي واجهة برمجة التطبيقات (API)؟

واجهة برمجة التطبيقات (API) هي مجموعة من القواعد التي تمكّن برنامجًا ما من نقل البيانات إلى برنامج آخر. تمكن واجهات برمجة التطبيقات المطورين من تجنب العمل الزائد ؛ بدلاً من بناء وإعادة بناء وظائف التطبيق الموجودة بالفعل ، يمكن للمطورين دمج الوظائف الموجودة في تطبيقاتهم الجديدة عن طريق تنسيق الطلبات كما تتطلب واجهة برمجة التطبيقات.

لذلك :

فإن واجهة برمجة التطبيقات (API) هي “واجهة” ، وتعني وسيلة لشيء ما للتفاعل مع الآخر. كمثال في العالم الحقيقي ، تحتوي ماكينة الصراف الآلي على واجهة – شاشة والعديد من الأزرار – مما يسمح للعملاء بالتفاعل مع بنكهم وطلب الخدمات ، مثل الحصول على النقود. وبالمثل ، فإن API هو كيفية تفاعل جزء واحد من البرنامج مع برنامج آخر للحصول على الخدمات المطلوبة.

أيضا:

تخيل أن جينيفر تنشئ موقعًا إلكترونيًا إذ يساعد الركاب على التحقق من حركة المرور على الطرق السريعة قبل مغادرتهم للعمل. يمكن أن تنفق جينيفر الكثير من الوقت والمال في إنشاء نظام معقد لتتبع الطرق السريعة لتوفير هذه المعلومات لمستخدمي موقعها على الويب كذلك . لكن هذه القدرات موجودة بالفعل ، حيث أن الأطراف الخارجية أنشأت مثل هذه الأنظمة. بدلاً من إعادة اختراع العجلة بهذه الطريقة ، يستخدم موقع Jennifer على الويب واجهة برمجة تطبيقات يتم توفيرها بواسطة خدمة تتبع الطرق السريعة الخارجية. الآن يمكن لجنيفر التركيز على بناء جوانب أخرى من الموقع.

 

ما هو استدعاء API؟

استدعاء واجهة برمجة التطبيقات (API) ، المعروف أيضًا باسم طلب واجهة برمجة التطبيقات (API) ، هو رسالة موجهة إلى واجهة برمجة التطبيقات التي تقوم بتشغيل استخدام واجهة برمجة التطبيقات. بالرجوع إلى المثال ، تنشئ Jennifer موقعها على الويب بطريقة أنه عند تحميله ، فإنه ينشئ تلقائيًا استدعاء واجهة برمجة التطبيقات لخدمة تتبع الطريق السريع. تعود الاستجابة إلى الموقع من تلك الخدمة وتمكنه من عرض أحدث معلومات حركة المرور على الطرق السريعة.

 

يجب تنسيق استدعاءات API وفقًا لمتطلبات API حتى تعمل. متطلبات API تسمى “مخططها”. يصف المخطط أيضًا أنواع الاستجابات التي يتم توفيرها لكل طلب.

وكذلك:

لنفترض أن أحد الركاب يستخدم موقع Jennifer للتحقق من حركة المرور على الطريق السريع 192. يرسل موقع الويب استدعاء API لتوفير هذه المعلومات – وهي رسالة تقرأ “Highway 192”. يتلقى خادم واجهة برمجة التطبيقات لخدمة تتبع الطرق السريعة هذه الرسالة والردود مع أوقات السفر على الطريق السريع 192. تخيل مخطط واجهة برمجة التطبيقات بهذه الطريقة:

 

طلب API استجابة API
“الطريق السريع 192” أوقات السفر على الطريق السريع 192
“الطريق السريع 217” أوقات السفر على الطريق السريع 217
“الطريق السريع 225” أوقات السفر على الطريق السريع 225

(لاحظ أن هذا على سبيل المثال – طلبات واجهة برمجة التطبيقات في العالم الحقيقي والاستجابات والمخططات أكثر تعقيدًا.)

 

لنفترض الآن على سبيل المثال أن موقع Jennifer على الويب يرسل طلب واجهة برمجة تطبيقات لـ “Highway ASDFGHJ”. هذا ليس طلبًا صالحًا لأنه لا يتوافق مع مخطط API ، والذي يسمح فقط بالأسماء الفعلية للطرق السريعة. لن يتمكن الخادم من توفير استجابة قابلة للاستخدام لمثل هذا الطلب.

 

ما هي نقطة نهاية API؟

نقطة النهاية هي نهاية قناة الاتصالات. نقطة نهاية API هي المكان الذي تنشأ منه استجابة API.

في المثال ، عميل اتصال API هو موقع Jennifer ، ونقطة النهاية هي الخادم الذي يستضيف API. يجب أن تنتقل مكالمات واجهة برمجة تطبيقات Jennifer إلى عنوان URL معين (عنوان URL هو عنوان ويب ، مثل www.ezznology.com ) يكون خادم واجهة برمجة التطبيقات مسؤولاً عنه للحصول على استجابة.

 

ما هو تكامل API؟

تكامل API هو مزيج من تطبيقين أو أكثر باستخدام واجهات برمجة التطبيقات. تكامل واجهة برمجة التطبيقات هو ما يمكّن تطبيقًا واحدًا من الاستفادة من إمكانات تطبيق آخر ، تمامًا كما يمكّن الجمع بين فريق مبيعات وفريق تسويق في مكتب واحد هذين الفريقين من العمل معًا والاستفادة من جهود كل منهما. يتم أيضًا استخدام تكامل API بشكل شائع لمزامنة البيانات بين تطبيقين أو قاعدتي بيانات.

 

ما هي واجهة برمجة تطبيقات الويب؟

يمكن لأي شيء يتضمن رمز الكمبيوتر أن يكون له واجهة برمجة تطبيقات ، من أنظمة التشغيل إلى مكتبات البرامج. واجهة برمجة تطبيقات الويب مخصصة للاستخدام من قبل تطبيقات الويب التي يتم الوصول إليها عبر الإنترنت.

أيضا:

تعد واجهات برمجة تطبيقات الويب مهمة للغاية للإنترنت الحديث. تعتمد جميع التطبيقات التي تواجه المستخدم تقريبًا على واجهات برمجة التطبيقات (وليس فقط موقع Jennifer على الويب!). تعتمد فلسفات تطوير البرامج بالكامل على استخدام واجهات برمجة التطبيقات – إحدى هذه الفلسفات هي JAMstack ، حيث يرمز JAM إلى JavaScript و APIs و markup. مثال آخر هو بنية الخدمات المصغرة ، التي تستخدم واجهات برمجة التطبيقات لاستدعاء الوظائف المختلفة التي تشكل التطبيق. حتى التطبيقات التي تم إنشاؤها بدون هذه الأساليب تعتمد عادةً على واجهات برمجة التطبيقات.

 

ما هي SOAP APIs و REST APIs؟

تصف SOAP APIs و REST APIs فئات مختلفة من واجهات برمجة التطبيقات.

SOAP (بروتوكول الوصول إلى كائن بسيط) هو نوع من البروتوكول . SOAP APIs هي واجهات برمجة تطبيقات تستخدم بروتوكول SOAP فقط.

REST (نقل الحالة التمثيلية) هو أسلوب معماري لخدمات الويب. واجهة برمجة تطبيقات REST هي أي واجهة برمجة تطبيقات تم إنشاؤها باستخدام بنية REST. على عكس SOAP APIs ، تعمل واجهات برمجة تطبيقات REST مع أي بروتوكول. معظم واجهات برمجة التطبيقات اليوم هي REST APIs.

 

هل تقدم واجهات برمجة التطبيقات مخاطر أمنية؟

مثلما يؤدي السماح لشخص ما باستخدام تطبيق ما إلى خطر قيام الشخص بإساءة استخدام التطبيق ، فإن واجهة برمجة التطبيقات (API) تقدم خطر قيام عميل واجهة برمجة التطبيقات بإساءة استخدام الخدمة. بالإضافة إلى ذلك ، تنتقل مكالمات واجهة برمجة تطبيقات الويب عبر الإنترنت ويمكن اعتراضها أو انتحالها أو تعديلها تمامًا مثل أي نقل بيانات آخر عبر الشبكة.

 

ولذلك :

فأمان API هو ممارسة لحماية واجهات برمجة التطبيقات من الهجمات وإساءة الاستخدام. نظرًا لأهمية واجهات برمجة التطبيقات للإنترنت الحديث ، يعد أمان واجهة برمجة التطبيقات مكونًا أساسيًا لأمن تطبيقات الويب . تشمل الإجراءات الأمنية الحاسمة لواجهة برمجة التطبيقات ما يلي:

  • تحديد السعر : يمكن للعملاء الذين يقدمون عددًا كبيرًا جدًا من طلبات واجهة برمجة التطبيقات (API) إبطاء أو تعطل واجهة برمجة التطبيقات للعملاء الآخرين. يضع تحديد السعر حدًا أقصى لعدد طلبات واجهة برمجة التطبيقات التي يمكن أن تأتي من نقطة نهاية معينة لواجهة برمجة التطبيقات خلال إطار زمني معين.
  • حماية DDoS : على غرار تحديد المعدل ، توقف حماية رفض الخدمة الموزعة (DDoS) هجمات DDoS ، التي تهدف إلى استنفاد أو إرباك واجهة برمجة التطبيقات بعدد كبير من الطلبات المرسلة دفعة واحدة.
  • المصادقة : من المهم مصادقة نقاط نهاية API والعملاء للتأكد من أن طلبات API تأتي من مصادر شرعية وليس من المهاجمين على سبيل المثال . TLS المتبادلة (mTLS) هي واحدة من أكثر أشكال مصادقة API فعالية.
  • التحقق من صحة المخطط: إذا كان طلب واجهة برمجة التطبيقات لا يتوافق مع مخطط واجهة برمجة التطبيقات ، فقد تتفاعل واجهة برمجة التطبيقات بطرق غير متوقعة – من خلال الكشف عن البيانات السرية ، على سبيل المثال. يتيح التحقق من صحة المخطط لواجهة برمجة التطبيقات (API) إسقاط مثل هذه الطلبات.

 

قد يهمك أيضا :

ما هي الpacket؟ | تعريف حزمة الشبكة

اظهر المزيد

مقالات ذات صلة

0 0 votes
Article Rating
Subscribe
نبّهني عن
guest

0 تعليقات
Inline Feedbacks
View all comments
زر الذهاب إلى الأعلى
0
Would love your thoughts, please comment.x
()
x