خطأ HTTP 431 Request Header Fields Too Large

كود الحالة 431 · الفئة 4xx

HTTP

الرسالة الرسمية (كما تظهر على الشاشة): Request Header Fields Too Large

يُبحث عنه أيضًا باسم: error 431, HTTP 431, request header fields too large

سلسلة طلب HTTP من المتصفح عبر CDN والوكيل إلى الخادم الأصلي
أخطاء HTTP: حدد أي حلقة في سلسلة الطلب فشلت واقرأ سجلاتها.

ماذا يعني

رفض الخادم الطلب لأن ترويساته، وهي في الغالب الكوكيز، كبيرة جداً. يظهر عادةً في المواقع التي استخدمتها لفترة طويلة، أو على localhost أثناء التطوير حين تضع تطبيقات كثيرة كوكيز على المضيف نفسه.

ينطبق على: جميع المتصفحات, Node.js, nginx, REST APIs

كيفية إصلاح خطأ HTTP 431 Request Header Fields Too Large

  1. امسح كوكيز الموقع (أو كوكيز 'localhost' أثناء التطوير) ثم أعد التحميل
  2. جرّب نافذة التصفح الخاص للتأكد من أن الكوكيز هي السبب
  3. أزل الإضافات التي تضيف ترويسات مخصصة كبيرة
  4. إذا كنت مالك الموقع: قلّل عدد الكوكيز وحجمها؛ وخزّن بيانات الجلسة على الخادم بدلاً من الكوكيز
  5. إذا كنت مالك تطبيق Node.js: الحد الأقصى الافتراضي لحجم الترويسة محدود؛ ويمكنك رفعه بالخيار '--max-http-header-size' إذا كانت الترويسات الكبيرة مشروعة
  6. إذا كان موقعك خلف وكيل (proxy): وحّد حدود مخازن الترويسات بين CDN والوكيل والتطبيق

سبب حدوثه

يعرّف RFC 6585 الرمز 431 لأقسام الترويسات التي تتجاوز حد الخادم. وأسبابه المعتادة: كوكيز متراكمة من نطاقات فرعية أو تطبيقات كثيرة على المضيف نفسه، ورموز مصادقة طويلة في الترويسات.

الأسئلة الشائعة

لماذا يظهر 431 على localhost؟

تشترك عدة تطبيقات تطوير في مخزن كوكيز 'localhost'. امسح كوكيز localhost في متصفحك وسيختفي الخطأ.

أخطاء ذات صلة

المصدر: IANA HTTP Status Code Registry · حلول كتبها المحررون وراجعوها (راجع السياسة التحريرية)

آخر تحديث: