ما هو REST؟
نمط معماري لتصميم واجهات الويب، يعامل كل شيء كـمورد (Resource) له رابط فريد، ويستخدم طرق HTTP القياسية.
القيود الأساسية
- عميل/خادم: فصل الواجهة عن المنطق.
- انعدام الحالة (Stateless): كل طلب يحمل كل ما يلزمه؛ الخادم لا يحفظ حالة الجلسة بين الطلبات.
- قابلية التخزين المؤقّت (Cacheable): يمكن تخزين الاستجابات.
- واجهة موحّدة: طرق ومسارات متّسقة.
- طبقات: يمكن إضافة وسطاء (proxy، cache) بشفافية.
انعدام الحالة عمليًّا
GET /profile
Authorization: Bearer <token> ← كل طلب يرسل هويّته
الخادم لا "يتذكّر" أنك سجّلت الدخول — الرمز يثبت ذلك في كل طلب.
REST مقابل غيره
- REST: بسيط، يعتمد HTTP، الأكثر شيوعًا.
- GraphQL: استعلام مرن لما تحتاجه بالضبط.
- gRPC: عالي الأداء بين الخدمات.
🎯 التالي: الموارد ونقاط النهاية.