استجابة الخادم 405 Method Not Allowed
ما هو رمز الحالة 405
رمز الحالة HTTP 405 (Method Not Allowed) يشير إلى أن طريقة الطلب المستخدمة من قبل العميل غير مدعومة للموارد المطلوبة. هذا يمكن أن يؤدي إلى أخطاء وسوء فهم، خاصة إذا لم يكن لدى المطورين معرفة بكيفية التعامل مع ذلك.
تعريف ورمز الحالة
يتم استخدام رمز الحالة 405 للإشارة إلى أن الطريقة المحددة في طلب HTTP غير مسموح بها بالنسبة للمعالجة على الخادم. قد يحدث هذا عندما يحاول العميل استخدام طريقة مثل POST أو DELETE على مورد لا يدعم هذه الطريقة.
سيناريوهات حدوث الخطأ 405
- استخدام طريقة POST عند الحاجة إلى GET.
- محاولة الوصول إلى مورد يدعم فقط PUT.
- طلب URL خاطئ مع طريقة طلب غير مسموح بها.
أمثلة عملية على حدوث الخطأ 405
خطأ عند استخدام طريقة POST بدلاً من GET
عندما يحاول المستخدم إرسال بيانات باستخدام طريقة POST إلى عنوان URL يُستخدم فقط لاسترجاع المعلومات، سيؤدي ذلك إلى ظهور الخطأ 405.
خطأ عند الوصول إلى مورد يدعم فقط PUT
إذا كان المورد مصممًا فقط لتحديث البيانات باستخدام PUT، وأرسل العميل طلبًا باستخدام طريقة GET، فسيظهر رمز الحالة 405.
مثال مع URL غير صحيح وطريقة طلب
إذا كان هناك مسار محدد في التطبيق يستدعي GET، ولكن العميل يرسل طلبًا عبر DELETE، فسيظهر الخطأ 405.
تصحيح الخطأ 405 في لغات البرمجة المختلفة
PHP
فحص الطريقة وإرجاع استجابة مناسبة يمكن أن يتم كالتالي:
if ($_SERVER['REQUEST_METHOD'] !== 'GET') {
http_response_code(405);
echo "Method Not Allowed";
}
معالجة الطرق في الأطر (مثل Laravel)
يمكن استخدام Middleware في Laravel للتحقق من الطريقة المسموح بها للموارد.
JavaScript (Node.js)
استخدام Express لمعالجة الطرق يمكن أن يتم كالتالي:
app.post('/resource', (req, res) => {
res.status(405).send('Method Not Allowed');
});
كيف تعيين التوجيه وإرجاع الحالات الصحيحة
يجب التأكد من أن كل مسار في Express يدعم الطريقة الصحيحة.
Python (Flask)
تعيين المسارات ومعالجة الطرق يمكن أن يتم كالتالي:
@app.route('/resource', methods=['PUT'])
def update_resource():
return "Resource updated", 200
استخدام الديكورators لتحديد الطرق المسموح بها
يتم استخدام الديكورators لتحديد طرق HTTP المسموح بها لكل مسار.
الأخطاء الشائعة وطرق تجنبها
- تكوين غير صحيح للخادم.
- أخطاء في توجيه التطبيق.
- توصيات لاختبار API للتأكد من صحة الطرق.
توصيات لمعالجة الحالة 405
- كيفية إبلاغ المستخدمين عن الطرق غير الصحيحة.
- أهمية توثيق API للمطورين.
- تكوين تسجيل الأخطاء لمتابعة الأخطاء 405.