Slate Errors

Client Error

431

Request Header Fields Too Large

— ヘッダが大きすぎます

まずは確認: よくある原因 TOP3

  1. Cookie が肥大化している
    第三者 Cookie や複数サブドメインの Cookie が合算されている
  2. 認証トークン (JWT) が大きい
    クレームを詰め込みすぎて Authorization ヘッダが膨れている
  3. カスタムヘッダの増えすぎ
    トレース用やデバッグ用のヘッダが本番でも残っていないか

何が起きたのか?

431 は「答案の表紙に書いた個人情報や注釈が長すぎて、回収箱の口に通らない」というサインです。 教室で言えば、本文よりも余白に書いた付箋やメモのほうが分厚くなって、提出箱の蓋が閉まらない——そんな状況に近いです。本文 (リクエストボディ) ではなく、ヘッダ部分の量で止められています。

サーバーやプロキシには、ヘッダ全体の許容サイズが設定されています。Cookie や JWT、社内独自のトレースヘッダなどが累積して、気付かないうちに上限を超えていることがよくあります。413 はボディの大きさ、431 はヘッダの大きさという棲み分けです。

黒板からのひとこと

提出物の表紙には、名前やクラス、日付のような必要な情報を書きます。でも、そこに「補足」「注意書き」「過去の宿題のメモ」まで貼り続けると、本来のノートよりも表紙のほうが厚くなってしまう。先生は「本体は綺麗なのに、表紙が重すぎて受け取れない」と言うしかありません。

431 もそれと同じで、本来の通信に必要な「ラベル類」が膨らみすぎると、サーバーは受け付けを止めます。ヘッダを点検して不要なものを削るか、サーバー側で上限を見直すかの判断になります。

解決への歩み

大丈夫、次はこうしてみよう:

  1. Cookie を整理:不要なドメインの Cookie を削除、サイズの大きいものを見直す
  2. JWT のクレームを減らす:必要最小限の情報だけに絞り、残りはサーバー側で解決
  3. カスタムヘッダを点検:デバッグ用やトレース用が本番に漏れていないか
  4. ヘッダ上限の運用を整える(管理者向け):プロキシ・サーバーの max_header_size、エラー応答での原因明示

実際にはこう見える

$ リクエスト

curl -i https://example.com/some/path

↓ レスポンス

HTTP/1.1 431 Request Header Fields Too Large
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<html><body><h1>431 Request Header Fields Too Large</h1></body></html>

似ているケース

もっと知りたい