Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)


付録A.3 NIO HTTPサーバが返すエラーステータスコード

クライアントからのリクエストのサイズが上限値を超えたり,値が不正だったりした場合,NIO HTTPサーバはエラーステータスコードを返します。NIO HTTPサーバが返すエラーステータスコードとエラーステータスコードを返す条件を次の表に示します。

表A‒3 NIO HTTPサーバが返すエラーステータスコードと条件

エラーステータスコード

エラーステータスコードを返す条件

400 Bad Request

リクエストの状態が次のどれかの場合,エラーステータスコード400が返ります。

  • リクエストのHostヘッダが複数指定されている場合

  • リクエストのHostヘッダがリクエストラインに指定されたホストと一致しない場合

  • リクエストのHTTPバージョンが1.1かつHostヘッダがない場合

  • リクエストのHostヘッダのポート番号が不正な場合

  • リクエストURIが不正な場合

  • リクエストヘッダのサイズが上限値を超えた場合

  • リクエストヘッダの数が上限値を超えた場合

  • リクエストURIのデコードに失敗した場合

  • リクエストURIを正規化できなかった場合

404 Not Found

リクエストの状態が次のどちらかの場合,エラーステータスコード404が返ります。

  • 存在しないリソースにアクセスした場合

  • ejbまたはwebが先頭となるようなURLにアクセスした場合

405 Method Not Allowed

次の条件をすべて満たす場合,エラーステータスコード405が返ります。

  • HTTPのバージョンが"HTTP/2"

  • アクセス対象がjavax.servlet.http.HttpServletを継承したサーブレット

  • アクセス時のHTTPメソッドが当該サーブレットにてオーバライドされていない

413 Request entity too large

リクエストボディのサイズが上限値を超えた場合,エラーステータスコード413が返ります(リクエストのtransfer-encodingがchunkedの場合を除く)。

417 Expectation Failed

リクエストのexpectヘッダの値が「100-continue」以外の場合,エラーステータスコード417が返ります。

500 Internal Server Error

リクエストの状態が次のどれかの場合,エラーステータスコード500が返ります。

  • 非同期サーブレットやノンブロッキングIOのReadListener,WriteListenerで例外が発生した場合

  • リクエストのContent-Lengthヘッダの値が数値以外の場合

  • リクエストのContent-Lengthヘッダが複数指定されている場合

501 Not implemented

リクエストのtransfer-encodingヘッダの値がサポートされていない場合,エラーステータスコード501が返ります。

503 Service Unavailable

流量制御の上限を超えてリクエスト処理を実行しようとした場合(同期だけ),エラーステータスコード503が返ります。

505 HTTP Version Not Supported

リクエストラインのHTTPバージョンがサポートされていない場合,エラーステータスコード505が返ります。