431ステータスコードに関する一般的な説明
HTTPステータスコード431 Request Header Fields Too Largeは、リクエストのヘッダーフィールドが大きすぎるため、クライアントからのリクエストがサーバーによって拒否されたことを通知します。これは、たとえば長すぎるクッキーや認証トークン、その他のメタデータが原因で、リクエストがヘッダに異常に大量のデータを含んでいる場合に起こります。サーバーは通常、このデータ量が定義された制限を超えるため、処理できません。このエラーはクライアントエラー(400-499)のカテゴリに属し、再送する前にクライアントが リクエストを適応しなければならないことを示します。可能な解決策の一つは、例えば不要なクッキーを削除したりデータを圧縮したりして、ヘッダーデータのサイズを小さくすることです。開発者や管理者にとって、このステータスコードは、リクエストを最適化するか、不必要なブロックを避けるためにサーバーの設定を調整する必要があることを示す有用な情報です。このエラーはクライアント側で発生するものですが、それでもクライアントとサーバー間の通信を大きく妨害する可能性があります。
HTTPステータスコード431の仕様
431 Request Header Fields Too Largeステータスコードは、ヘッダーフィールドが大きすぎるため、サーバーがリクエストを処理する気がないことを示します。
これは、リクエストヘッダーフィールドの合計が大きすぎる場合と、単一のヘッダーフィールドに問題がある場合の両方で使用することができます。 後者の場合、応答表現はどのヘッダーフィールドが大きすぎたかを特定すべきです。
例えば、
HTTP/1.1 431 Request Header Fields Too Large Request Header Fields Too Large
Content-Type: text/html
431 Request Header Fields Too Largeステータスコードの応答はキャッシュで保存してはいけません。
出典・引用元はこちら 431 Request Header Fields Too Large HTTP Status Code は、5 のセクションで規定されています。
PHPで431ステータスコードを投げるには?
WebページでHTTPステータスコード431を投げるには、PHPの関数http_response_codeを使用することができます。構文は次のとおりです: http_response_code(431) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
431 HTTPステータスコードのテスト
クライアント側でHTTPステータスコード(ここでは431 Request Header Fields Too Large)などを表示できるようにするためには、F12で開発コンソールを開く必要があります。次に、「ネットワーク」タブに移動します。これでページを開くことができ、ネットワークタブにウェブサイト(例のindex.php)が表示されるはずです。これを選択し、次にHerderセクションを選択する必要があります。すると、ユーザーは次のような結果を見ることができます:
URL: https://http-statuscode.com/errorCodeExample.php?code=431
ステータス: 431 Request Header Fields Too Large
それらの: Network
IPアドレス: XX.XX.XX.XX
ステータスコード431のエラーページを自作する方法
Apache Webserver
Webサーバー「Apache」は、インターネット上で最も一般的なWebサーバーの1つです。Apache」で独自の431 Request Header Fields Too Largeエラーページを作成するためには、以下のファイルを変更する必要があります。
NGINX Webserver
Webサーバー「Apache」と同様に、「NGINX」もインターネット上で広く利用されています。NGINX」で独自の431 Request Header Fields Too Largeエラーページを作成するためには、以下のファイルを変更する必要があります。
location = /431.html {
root /usr/share/nginx/html;
internal;
}
431ステータスコードのブラウザ互換性
Chrome | no data |
Edge | no data |
Firefox | no data |
Opera | no data |
Safari | no data |
Chrome Android | no data |
Firefox for Android | no data |
Opera Android | no data |
Safari on iOS | no data |
Internet | no data |
WebView Android | no data |
プログラミング言語における定数
HttpStatusCode.RequestHeaderFieldsTooLarge
http.StatusRequestHeaderFieldsTooLarge
Response::HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE
:request_header_fields_too_large