REST API
هو أي API يستخدم مبادئ REST.
RESTful API
هو API متوافق تمامًا مع معايير REST مثل Stateless, Client-Server, Cacheable, Layered System.
طيب خليني أوضح أكتر إيه الفرق بين يستخدم مبادئ الـ REST ومتوافق تماماً مع معايير الـ REST 🤔
يستخدم مبادئ REST:
📍يشير إلى تطبيق أو API يتبع بعض مبادئ REST، مثل استخدام HTTP وموارد محددة بعناوين URL.
📍قد لا يلتزم بجميع القيود الستة لـ REST، مثل عدم حفظ الحالة (Stateless) أو واجهة موحدة (Uniform Interface).
📍هذا يعني أن التطبيق قد يستفيد من بعض فوائد REST دون تحقيق جميع مزاياه.
متوافق تمامًا مع معايير REST (RESTful):
📍يشير إلى تطبيق أو API يلتزم بجميع القيود والمعايير المحددة في REST، بما في ذلك:
🔹عدم حفظ الحالة (Stateless).
🔹واجهة موحدة (Uniform Interface).
🔹نظام عميل-خادم (Client-Server).
🔹قابلية التخزين المؤقت (Cacheable).
🔹نظام متعدد الطبقات (Layered System).
🔹تنفيذ الشيفرة عند الطلب (Code on Demand) – اختياري.
📍هذا الالتزام الكامل يضمن تحقيق جميع فوائد REST، مثل القابلية للتوسع، والأداء المحسن، والمرونة.
🗯 مثال توضيحي:
📍API يستخدم مبادئ REST:
🔹يستخدم HTTP وعناوين URL لتحديد الموارد.
🔹لكن يحتفظ بحالة المستخدم على الخادم (Stateful)، مما يعني أن كل طلب يعتمد على الجلسة المخزنة على الخادم.
📍API متوافق تمامًا مع معايير REST (RESTful):
🔹يستخدم HTTP وعناوين URL لتحديد الموارد.
🔹كل طلب مستقل ولا يعتمد على حالة مخزنة على الخادم (Stateless).
🔹يستخدم رؤوس HTTP لتحديد قابلية التخزين المؤقت.
🔹يفصل بين العميل والخادم، مما يسمح لكل منهما بالتطور بشكل مستقل.
🚀الخلاصة:
🔹الالتزام الجزئي بمبادئ REST قد يوفر بعض الفوائد، لكن لتحقيق الاستفادة الكاملة من مزايا REST، يُفضل الالتزام التام بجميع معاييره وقيوده.