431 Request Header Fields Too Large

HTTP の 431 Request Header Fields Too Largeクライアントエラーレスポンスステータスコードで、リクエストの HTTP ヘッダーが長すぎるためにサーバーがリクエストの処理を拒否したことを示します。 ヘッダーフィールドを縮小した上で、リクエストを再送信することができます。

431 はリクエストヘッダーの全体の大きさが大きすぎる場合や、単一のヘッダーフィールドが長すぎる場合に使用することができます。 このエラーが発生した場合は、レスポンス本文でこの二つの問題のどちらであるかを示すと役立ちます。できれば、どのヘッダーが長すぎるのかも含めたほうがよいでしょう。 これによってユーザーが、クッキーを消去するなど、問題の解決を試みることができます。

サーバーは次のような場合に、よくこのステータスを生成します。

  • Referer の URL が長すぎる場合
  • そのリクエストで送られた Cookie が多すぎる場合

ステータス

http
431 Request Header Fields Too Large

ヘッダーフィールドが長すぎる場合

以下の例では、 Cookie ヘッダーがリクエストの中で長すぎます。

http
GET /doc HTTP/1.1
Host: example.com
Cookie: cookie1=value1; cookie2=value2; cookie3=[…]

サーバーは、問題となったヘッダーを示すメッセージで応答します。

http
HTTP/1.1 431 Request Header Fields Too Large
Content-Type: text/html

<!doctype html>
  <head>
    <title>Request Header Fields Too Large</title>
  </head>
  <body>
    <h1>Request Header Fields Too Large</h1>
    <p>The "Cookie" header was too large.</p>
  </body>
</html>

仕様書

Specification
RFC 6585
# section-5

関連情報