ماذا يعني
العنوان موجود لكنه لا يدعم طريقة HTTP المستخدمة. وتسرد ترويسة Allow الطرق التي تعمل.
الأسباب الشائعة
- POST إلى ملف ثابت أو مسار يقبل GET فقط
- نموذج يرسل إلى نقطة نهاية خاطئة
- المسار يعرّف الطريقة تحت مسار مختلف، مثل وجود شرطة مائلة ختامية
طريقة الإصلاح
إن كنت العميل أو الزائر
راجع ترويسة Allow ووثائق الواجهة، وتأكد من تطابق الطريقة والعنوان.
إن كنت مسؤولًا عن الموقع أو الواجهة البرمجية
أرسل دائمًا Allow مع 405. راجع التوجيه بحثًا عن اختلافات الشرطة المائلة الختامية وتأكد من أن الاستضافة الثابتة لا تتولى مسارات API.
مثال على الاستجابة
HTTP/1.1
HTTP/1.1 405 Method Not Allowed
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Allow: GET, HEAD, POST
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Method Not Allowed",
"status": 405,
"detail": "DELETE is not supported on /users."
} المواصفة
الأسئلة الشائعة
› 405 أم 404؟
404: لا شيء هنا. 405: هناك شيء هنا، لكن ليس لهذه الطريقة.
› لماذا أحصل على 405 عند POST على استضافة ثابتة؟
الاستضافة الثابتة تخدم GET/HEAD فقط؛ ويحتاج POST إلى دالة من جهة الخادم أو نقطة نهاية خارجية للنماذج.