تخطَّ إلى المحتوى

DELETE

طريقة DELETE DELETE

DELETE تطلب إزالة المورد المحدَّد بالرابط، وهي عديمة الأثر التراكمي حسب المواصفة.

DELETE تطلب من الخادم حذف المورد الموجود عند الرابط. تُعتبر عديمة الأثر التراكمي: تكرار طلب حذف مورد محذوف مسبقًا لا يُفترض أن يسبب خطأً جديدًا في تصميم مثالي، رغم أن الخادم قد يعيد 404 في المحاولة الثانية لأن المورد لم يعد موجودًا — وهذا لا يتعارض مع كونها عديمة الأثر التراكمي، لأن حالة النظام النهائية (المورد غير موجود) تبقى واحدة.

في كثير من الأنظمة الحقيقية يُستبدل الحذف الفعلي بحذف ناعم (Soft Delete) — تعليم السجل كمحذوف بدل إزالته من قاعدة البيانات — للحفاظ على السجلّ التاريخي وإمكانية الاسترجاع.

الصياغة

DELETE /resource/:id

📄 مثال

DELETE /api/articles/42 HTTP/1.1

// الاستجابة الشائعة
HTTP/1.1 204 No Content

أهم النقاط

العنصرالوظيفة
عديمة الأثر التراكميالحالة النهائية (مورد غير موجود) واحدة رغم اختلاف كود الحالة بين المحاولات
204 عند النجاح بلا محتوىالرد الشائع؛ 200 مقبول أيضًا إن أعاد جسمًا يوثّق نتيجة الحذف
غير آمنةتُغيّر حالة الخادم فعليًا

💡 نصائح عملية

  • أعد 204 No Content إن لم يكن هناك داعٍ لإعادة جسم في الرد
  • فكّر بالحذف الناعم (soft delete) للبيانات التي قد تحتاج استرجاعًا أو تدقيقًا لاحقًا

⚠️ أخطاء شائعة

  • إعادة 500 عند حذف مورد غير موجود أصلًا — الأصح 404، أو 204 إن اعتبرت العملية "محقَّقة" بلا خطأ
  • السماح بحذف المورد عبر رابط GET قابل للنقر — يفتح ثغرة CSRF تمامًا مثل GET للتعديل

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار REST-API الكامل بالعربي.

📚 للتعمق التقني الكامل بالإنجليزية: MDN Web Docs