431 Request Header Fields Too Large (RFC 6585), tek bir başlık alanı ya da tüm başlıklar birlikte çok büyük olduğu için sunucunun isteği işlemek istemediği anlamına gelir. İstemci başlıkların boyutunu küçülttükten sonra yeniden deneyebilir.
Asıl suçlu genellikle çerezlerdir: bir site ve alt alan adları, Cookie başlığı sunucunun sınırını aşana kadar giderek daha fazla çerez ayarlar. Çok uzun Referer URL'leri ve büyük kimlik doğrulama token'ları da buna neden olabilir. Örneğin Node.js, başlıklar sınırını aştığında 431 ile yanıt verir; geliştiriciler buna sık sık, birçok yerel projenin çerezlerinin biriktiği localhost üzerinde rastlar.
Her sunucu 431 kullanmaz. Örneğin nginx bunun yerine “Request Header Or Cookie Too Large” mesajıyla 400 Bad Request döndürür.
Örnek yanıt
HTTP/1.1 431 Request Header Fields Too Large
Connection: close SEO ve yönlendirme kontrolü
Tarama botları çerez içermeyen küçük başlıklar gönderir; bu nedenle neredeyse hiçbir zaman 431'e yol açmaz. Bir yönlendirme kontrolü 431 döndürüyorsa, eklediğiniz özel başlıkların veya çerezlerin boyutunu küçültün.
Yaygın nedenler ve kullanım alanları
- Bir alan adı ve alt alan adları için çerezler birikmiş. Bunları temizleyin ya da daha az ve daha küçük çerezler ayarlayın.
- Büyük JWT'ler veya diğer yetkilendirme başlıkları.
- Çok uzun sorgu dizelerine sahip URL'lerden gelen çok uzun
Refererbaşlıkları. - Bir Node.js sunucusunda (
--max-http-header-size), bir proxy'de veya bir yük dengeleyicide düşük başlık boyutu sınırı.