【なんでも研究日誌】HTTPステータスコード

1XX:Informational(情報)

1XXのステータスコードのクラスは一時的なレスポンスを示し、ステータスラインとオプション的なヘッダからのみなり、空行で終了します。 HTTP/1.0 では、1xx ステータスコードは定義していないので、 HTTP/1.0 クライアントに 1xx レスポンスを送ってはならないとされています。 クライアントは、例え 100 (Continue) ステータスメッセージを期待していなかったとしても、通常のレスポンスの前の一つ以上の 1xx レスポンスを受け入れるよう準備しておく必要があります。 ユーザエージェントは、期待していない 1xx レスポンスを無視する事ができます。

100:Continue(継続します) = HttpServletResponse.SC_CONTINUE

クライアントが続けることができることを示すステータスコードです。

この暫定的レスポンスは、リクエストの始めの部分は受け取られ、サーバによって拒否されたものではないという事をクライアントに知らせるために使用されます。 クライアントは、リクエストの残りを送り続けるか、もし既にリクエストが完了していれば、このレスポンスを無視すべきです。 サーバは、リクエストが完了した後に最終的なレスポンスを送らなければなりません。

101:Switching Protocols(プロトコルを切り替えます) =HttpServletResponse.SC_SWITCHING_PROTOCOLS

サーバが Upgrade ヘッダに従ってプロトコルを切り替えようとしていることを示すステータスコードです。

2XX:Success(成功)

2XXのレスポンスは、リクエストが正常に処理された事を示します。

200:OK(OKです)= HttpServletResponse.SC_OK

リクエストが正常に成功したことを示すステータスコードです。レスポンスでステータスコードとともに返される情報は、メソッド毎に異なります。

◆GET

リクエストされたリソースに対応するエンティティがレスポンスとしてとして送られます。

◆HEAD

リクエストされたリソースに対応するエンティティヘッダフィールドがメッセージボディを伴わずレスポンスとして送られます。

◆POST

動作の結果を記述もしくは含んでいるエンティティ

◆TRACE

端末サーバーによって受信されたリクエストメッセージを含んでいるエンティティ

201:Created(作成されました)= HttpServletResponse.SC_CREATED

リクエストが成功してサーバ上に新しいリソースを生成したことを示すステータスコードです。

新しく作成されたリソースは、通常レスポンスのエンティティにおいて返される URI によって参照する事ができるようにしておきます。そのためレスポンスには、ユーザあるいはユーザエージェントが最も適切なものを選択する事ができるように、リソースの特徴と場所のリストをエンティティとして含むようにしておく必要があります。 エンティティのフォーマットは、Content-Type ヘッダフィールドにて与えられるメディアタイプによって指定します。 サーバは、201 ステータスコードを返す前にリソースを作成しなければなりません。 もし動作がすぐに実行できないのであれば、サーバは201の代わりに 202 (Accepted) レスポンスを返すべきです。

202:Accepted(受理されました) = HttpServletResponse.SC_ACCEPTED

リクエストが受け付けられたが処理が完了しなかったことを示すステータスコードです。

このリクエストは、実際に処理される時に拒否されるかもしれないので、最終的に動作されるかどうかは不明です。 このような非同期操作からステータスコードを再送信するための機能は存在しません。 202 レスポンスは、意図的に責任を持ちません。

これはサーバの処理が完了されるまでユーザエージェントとの接続を持続させる事無く、他のリクエストを受け入れる事を可能にするためでもあります。

このレスポンスによって返されるエンティティは、リクエストの現在の状態を表す情報や、状態をモニタリングしている場所への参照情報、あるいはそのリクエストがいつ果たされるかをユーザが予想できる情報を含むべきです。

203:Non-Authoritative Information(不当な情報です) = HttpServletResponse.SC_NON_AUTHORITATIVE_INFORMATION

クライアントから与えられたメタ情報がこのサーバ起源のものではなかったことを示すステータスコードです。

204:No Content(コンテンツがありません) =HttpServletResponse.SC_NO_CONTENT

リクエストは成功したが返すべき新しい情報はないことを示すステータスコードです。204レスポンスはメッセージボディを含んではいけないので、ヘッダーフィールドの後は空行で終了します。

205:Reset Content(コンテンツをリセットします)             =HttpServletResponse.SC_RESET_CONTENT

送信されたリクエストを発生させたドキュメントの表示をクライアントがリセットすべき であることを示すステータスコードです。このレスポンスは主に、ユーザが別の入力動作を簡単に始められるように、入力が与えられたフォームをクリアして、ユーザの入力経由で動作を起こすための入力をさせる意図があります。そのためレスポンスはエンティティを含んではいけません。

206:Partial Content(コンテンツの一部分です) =HttpServletResponse.SC_PARTIAL_CONTENT

サーバがリソースの部分的なGETリクエストを完了したことを示すステータスコードです。

3XX:Redirection(転送)

3XXのステータスコードのクラスは、リクエストを完了するためにはユーザエージェントによって追加動作が必要である事を示します。

300:Multiple Choices(複数の選択肢があります) =HttpServletResponse.SC_MULTIPLE_CHOICES

リクエストされたリソースが複数発見された場合のステータスコードで、指定された場所に対応している表現の集合のうちのどれにでも対応することを示すステータスコードです。

301:Moved Permanently(恒久的に移動しました) =HttpServletResponse.SC_MOVED_PERMANENTLY

リソースが新しい場所に永続的に移動したこと、また将来の参照の際にはリクエストに新しい URI を用いるべきであることを示すステータスコードです。

リクエストされたリソースは新しい恒久的な URI に割り当てられたので、以降そのリソースへの参照は返された URI の一つを使用すべきとされています。 クライアントは、可能であればサーバにより返された新しい参照の一つ以上の Request-URI を参照するように自動的に再リンクすべきです。 このレスポンスは、別のものを示しているのでなければキャッシュ可能です。 新しい恒久的 URI は、レスポンス内の Location フィールドによって与えられるべきであり、リクエストメソッドが HEAD でなければ、レスポンスのエンティティは新しい URI へのハイパーリンクを持った短いハイパーテキス トの注釈を含むべきです。 もし 301 ステータスコードが GET や HEAD 以外のリクエストのレスポンスとして受信されたら、リクエストが発行された時点の条件から変わっているかもしれないため、ユーザエージェントはユーザに確認せずに、リクエストを自動的にリダイレクトしてはいけません。

302:Found(見つかりました)=HttpServletResponse.SC_FOUND

リソースが異なる URI で他の場所にあることを示すステータスコードです。

302:Found(見つかりました) =HttpServletResponse.SC_MOVED_TEMPORARILY

リソースが一時的に他の場所に移動したこと、また将来の参照の際にはこのリソースにアクセスする元々の URI を依然として用いるべきであることを示すステータスコード です。 この定義は過去の互換性のために残されています。 現在、SC_FOUND が優先される定義です。

303:See Other(他を参照して下さい) =HttpServletResponse.SC_SEE_OTHER

リクエストに対するレスポンスを異なるURIから発見することができることを示すステータスコードです。

304:Not Modified(変更されていません) =HttpServletResponse.SC_NOT_MODIFIED

リソースが利用可能で変更されていないことを条件付きGETが発見したことを示すステータスコードです。

305:Use Proxy(プロキシを使用します) =HttpServletResponse.SC_USE_PROXY

リクエストされたリソースへは Location フィールドで指定されたプロキシを通してアクセスしなくてはいけないことを示すステータスコードです。

306:(Unused)

306のステータスコードは前のバージョンの仕様書では使われていたが、現在は使われておらず、将来のために予約されています。

307:Temporary Redirect(一時的なリダイレクトです) =HttpServletResponse.SC_TEMPORARY_REDIRECT

リクエストされたリソースが一時的に異なるURIに存在することを示すステータスコードです。 一時的なURIはレスポンスの Locationフィールドで与えるべきとされています。

4XX:Client Error(クライアントエラー)

5XX:Server Error(サーバーエラー)