A RESTful API(Representational State Transfer) هو نوع من الهندسة المعمارية والبروتوكول لتصميم وإدارة واجهات برمجة التطبيقات(APIs) في الأنظمة الموزعة. RESTful API مبني على المبادئ الأساسية للهندسة المعمارية REST ، وهي طريقة وصفها روي فيلدينغ في أطروحته لعام 2000.
تشمل الخصائص الرئيسية ما RESTful API يلي:
الوصول المستند إلى العنوان
يتم تمثيل كل مورد بواسطة عنوان URL(محدد موقع المعلومات) ، مما يسمح للأنظمة بالاتصال من خلال طلبات HTTP مثل GET ، POST و PUT ، و DELETE.
وصول عديمي الجنسية
يحتوي كل طلب من العميل على معلومات كافية للخادم لفهم الطلب دون الاعتماد على معلومات الحالة السابقة. لا يقوم الخادم بتخزين معلومات حول حالة العميل بين الطلبات.
استخدام طريقة HTTP
RESTful API يستخدم طرق HTTP(GET و POST PUT و DELETE) لتحديد الغرض من كل طلب. على سبيل المثال ، استخدم GET لاسترداد المعلومات ، POST لإنشاء بيانات جديدة ، PUT للتحديث ، وحذف للإزالة.
استخدام أنواع الوسائط
يتم إرسال البيانات عبر الشبكة باستخدام تنسيقات مثل JSON XML أو غيرها من التنسيقات المخصصة. يحتاج كل طلب إلى تحديد تنسيق البيانات المطلوب.
تحديد الموارد
يتم تحديد الموارد من خلال عناوين URL الفريدة ، مما يسمح للعملاء بالوصول إلى الموارد باستخدام المعرفات القائمة على المسار.
قابل للتخزين المؤقت
يمكن تخزين الطلبات والاستجابات من a RESTful API في ذاكرة العميل أو الخادم الوكيل لتحسين الأداء.
نظام الطبقات
تسمح البنية REST بإضافة طبقات وسيطة مثل موازنات التحميل أو الخوادم الوكيلة لتحسين قابلية التوسع والإدارة.
تُستخدم واجهات برمجة التطبيقات RESTful على نطاق واسع في تطوير تطبيقات الويب والجوّال ، مما يتيح الاتصال الفعال ومشاركة البيانات بين التطبيقات. تستخدم خدمات الويب الرئيسية مثل Facebook و Twitter و Google أيضًا بنية RESTful لتوفير واجهات برمجة التطبيقات للمطورين.