ماذا يعني
لا يستطيع الخادم إنتاج استجابة بأي صيغة تسمح بها ترويسات Accept لدى العميل.
الأسباب الشائعة
- Accept يطلب نوعًا لا تدعمه الواجهة، مثل application/xml
- ترويسات Accept-Language أو Accept-Encoding صارمة جدًا
- وحدات أمنية ترفض ترويسات Accept غير المألوفة
طريقة الإصلاح
إن كنت العميل أو الزائر
أرسل Accept: application/json أو */*، أو احذف ترويسات Accept-* الصارمة جدًا.
إن كنت مسؤولًا عن الموقع أو الواجهة البرمجية
عند الإمكان ارجع إلى تمثيل افتراضي بدل 406، واسرد الأنواع المتاحة في الجسم.
مثال على الاستجابة
HTTP/1.1
HTTP/1.1 406 Not Acceptable
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Not Acceptable",
"status": 406,
"detail": "Available representations: application/json."
} المواصفة
الأسئلة الشائعة
› 406 أم 415؟
406 يتعلق بما يريد العميل استلامه (Accept). 415 يتعلق بما أرسله العميل (Content-Type).
› لماذا يعيد mod_security الرمز 406؟
تستخدم بعض مجموعات القواعد 406 كحالة حظر عامة؛ راجع سجلات WAF.