TrueURL
TrueURL

メニュー

431 リクエストヘッダーが大きすぎる

ヘッダーが大きすぎるため、サーバーがリクエストを拒否していることを示します。たいていは、ブラウザーが送る Cookie が多すぎるか大きすぎることが原因です。

リーズンフレーズ
Request Header Fields Too Large
リダイレクト
いいえ
デフォルトでキャッシュ可能
いいえ

431 Request Header Fields Too Large(RFC 6585)は、ヘッダーフィールドの 1 つ、またはすべてのヘッダーの合計が大きすぎるため、サーバーがリクエストの処理を拒否していることを示します。クライアントは、ヘッダーのサイズを減らしてから再試行できます。

よくある原因は Cookie です。サイトとそのサブドメインが Cookie を次々と設定した結果、Cookie ヘッダーがサーバーの上限を超えてしまいます。非常に長い Referer の URL や、大きな認証トークンが原因になることもあります。たとえば Node.js はヘッダーが上限を超えると 431 を返し、開発者は localhost でよくこれに遭遇します。多数のローカルプロジェクトの Cookie がたまっていくためです。

431 を使わないサーバーもあります。たとえば nginx は、代わりに「Request Header Or Cookie Too Large」というメッセージ付きの 400 Bad Request を返します。

レスポンス例

HTTP
HTTP/1.1 431 Request Header Fields Too Large
Connection: close

SEO とリダイレクトチェック

クローラーは Cookie なしの小さなヘッダーを送るため、431 を引き起こすことはほとんどありません。リダイレクトチェックで 431 が返った場合は、追加したカスタムヘッダーや Cookie のサイズを減らしてください。

よくある原因と主な用途

  • ドメインとそのサブドメインの Cookie がたまっている場合。Cookie を削除するか、設定する Cookie の数とサイズを減らしてください。
  • 大きな JWT やその他の認証ヘッダーを使っている場合。
  • 巨大なクエリ文字列を持つ URL によって、Referer ヘッダーが非常に長くなっている場合。
  • Node.js サーバー(--max-http-header-size)、プロキシ、ロードバランサーのヘッダーサイズの上限が低い場合。

URL リダイレクトチェッカー

無料の TrueURL リダイレクトチェッカーで、URL が返すすべてのステータスコードをホップごとに確認できます。