Latest web development tutorials

JSP HTTPステータスコード

HTTPリクエストとHTTPレスポンス同様のフォーマットは、以下の構造を有します。

  • スタートステータスライン+ CRLF(復帰改行)で
  • ゼロ以上の行ヘッドモジュール+ CRLF
  • このようなCRLFなどの空白行、
  • ファイルのようなオプションのメッセージボディ、クエリデータ、クエリ出力

たとえば、サーバーのレスポンスヘッダは次のようになります。

HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
  (Blank Line)
<!doctype ...>
<html>
<head>...</head>
<body>
...
</body>
</html>

ステータス行は、HTTPのバージョン、ステータスコード、およびショートメッセージに対応するステータスコードが含まれています。

次の表は、HTTPステータスコードと、サーバーから返されることがあります関連するメッセージを示しています。

状態コード ニュース 説明
100 続けます 要求の一部だけ受信サーバが、限り、サーバーによって拒否されていない、クライアントはこのの継続を要求します
101 プロトコルの切り替え サーバスイッチプロトコル
200 OK リクエストが確認されました
201 作成 完全な要求、新しいリソースが作成されます
202 一般に認められました 要求が受け入れられたが、処理されません
203 権限のない情報
204 コンテンツなし
205 コンテンツをリセット
206 部分コンテンツ
300 複数の選択肢 ハイパーリンクテーブルには、ユーザーがハイパーリンクを選択して、最大限の支援5ハイパーリンクを訪問することができます
301 完全に移動 要求されたページには、下に新しいURLに移動しました
302 見つかりました 要求されたページは、一時的に下に新しいURLに移動しました
303 その他を参照してください。 要求されたページは、別のURLの下に見つけることができます
304 変更されていません
305 プロキシを使用します
306 未使用 このステータスコードは使用されていませんが、ステータスコードが予約されています
307 一時的なリダイレクト 要求されたページは、一時的に下に新しいURLに移動しました
400 不正な要求 サーバーが要求を認識しません
401 許可されていません 要求されたページには、ユーザー名とパスワードが必要
402 支払いが必要 残念ながら、あなたはこのステータスコードを使用することはできません
403 フォービドゥン 要求されたページへのアクセスを禁止します
404 見つかりません サーバは、要求されたページを見つけることができませんでした
405 方法は許可されていません リクエストで指定されたメソッドが許可されていません
406 受け入れられません クライアントサーバは容認できない応答を作成することができます
407 プロキシ認証が必要 サービスを要求する前に、プロキシサーバーによって認証されなければなりません
408 要求タイムアウト リクエスト時間は、接続が切断され、サーバは待つことができ超えます
409 紛争 矛盾の要求があります。
410 ゴーン 要求されたページは使用できなくなりました
411 長さは必須 定義されていません」のContent-Length」は、サーバが要求を拒否します
412 前提条件に失敗しました サーバーによって要求された前提条件がfalseに評価さ
413 エンティティが大きすぎる要求 要求エンティティが大きすぎるため、サーバは要求を拒否する
414 要求-URLが長すぎます URLが長すぎるため、サーバーは、要求を受け入れることを拒否します。 詳細については、に添付の「GET」リクエストに "POST"要求へのクエリの多くに表示されます
415 サポートされていないメディアタイプ メディアタイプがサポートされていないため、サーバーは、要求を受け入れることを拒否します
417 期待に失敗しました
500 内部サーバーエラー 要求が不完全で、サーバが予期しない状態に会いました
501 実装されていません リクエストが完了していない、サーバーは必要な機能を提供していません
502 不正なゲートウェイ 要求が不完全である、上流のサーバーからサーバーが無効な応答を受信しました
503 サービス利用不可 要求は、サーバーが一時的にシャットダウンまたは再起動され、不完全です
504 ゲートウェイタイムアウト ゲートウェイタイムアウト
505 HTTPバージョンをサポートしていません Serverは、指定されたHTTPバージョンをサポートしていません。

HTTPステータスコードの設定方法

次の表は、ステータスコードを設定するために使用するHttpServletResponseクラスのメソッドを示しています。

SN メソッド 説明
1 公共ボイドのsetStatus(int型からstatusCode)

この方法は、任意の状態コードを設定することができます。 あなたの応答は、ステータスコードと特殊な文書が含まれている場合は、メソッドのsetStatusを呼び出す前に何かを返すPrintWriterを使用してください
2 公共ボイドのsendRedirect(文字列のURL)

URLのLocationヘッダを生成する新しい文書を伝えながら、この方法では、302応答を生成します
3 公共ボイドのsendError(int型のコード、文字列メッセージ)

この方法は、ステータス・コード(通常は404)、およびショートメッセージ自動的にHTMLドキュメントに挿入することと、クライアントに返送します

HTTPステータスコードプログラム例

次の例では、ブラウザが「認証が必要です!!!」を教えてくれます、ブラウザに407エラーコードを送信します。

<html>
<head>
<title>Setting HTTP Status Code</title>
</head>
<body>
<%
   // 设置错误代码,并说明原因
   response.sendError(407, "Need authentication!!!" );
%>
</body>
</html>

JSPページを超えるアクセスは、次のような結果が得られます:

js_http_status_codes

また、あなたが予期しないものの結果を参照することになる、異なるステータスコードを使用して試すことができます。