431 Request Header Fields Too Large (RFC 6585) का मतलब है कि सर्वर रिक्वेस्ट प्रोसेस नहीं करना चाहता, क्योंकि कोई एक हेडर फ़ील्ड या सभी हेडर मिलकर बहुत बड़े हैं। हेडर का साइज़ कम करने के बाद क्लाइंट दोबारा कोशिश कर सकता है।
आम तौर पर इसकी वजह कुकीज़ होती हैं: कोई साइट और उसके सबडोमेन इतनी कुकीज़ सेट करते जाते हैं कि Cookie हेडर सर्वर की सीमा पार कर जाता है। बहुत लंबे Referer URL और बड़े ऑथेंटिकेशन टोकन भी इसकी वजह बन सकते हैं। उदाहरण के लिए, हेडर अपनी सीमा पार करें तो Node.js 431 लौटाता है, और डेवलपर को यह अक्सर localhost पर दिखता है, जहां कई लोकल प्रोजेक्ट की कुकीज़ जमा हो जाती हैं।
हर सर्वर 431 इस्तेमाल नहीं करता। उदाहरण के लिए, nginx इसकी जगह “Request Header Or Cookie Too Large” के साथ 400 Bad Request लौटाता है।
उदाहरण रिस्पॉन्स
HTTP/1.1 431 Request Header Fields Too Large
Connection: close SEO और रीडायरेक्ट जांच
क्रॉलर बिना कुकी के छोटे हेडर भेजते हैं, इसलिए उनसे 431 लगभग कभी ट्रिगर नहीं होता। अगर रीडायरेक्ट जांच 431 लौटाती है, तो अपने जोड़े हुए कस्टम हेडर या कुकीज़ का साइज़ कम करें।
आम वजहें और इस्तेमाल
- किसी डोमेन और उसके सबडोमेन के लिए कुकीज़ जमा हो गईं। इन्हें साफ़ करें, या कम और छोटी कुकीज़ सेट करें।
- बड़े JWT या दूसरे ऑथराइज़ेशन हेडर।
- बहुत बड़ी क्वेरी स्ट्रिंग वाले URL से आए बहुत लंबे
Refererहेडर। - Node.js सर्वर (
--max-http-header-size), किसी प्रॉक्सी या लोड बैलेंसर में हेडर साइज़ की कम सीमा।