HTTPステータスコード一覧 (HTTP/1.1)
Copyright© N/A
Webサーバーから返されるHTTPレスポンスヘッダのステータス行(基本的に最初の1行)は始めにHTTPバージョン("HTTP/1.1")に続いて3桁のステータスコード、さらにReason-Phrase(理由等を示したメッセージ)が続く。行の最後はCRLFで終わる。
ステータス行の例 |
---|
HTTP/1.1 200 OK CRLF HTTP/1.1 403 Forbidden CRLF HTTP/1.1 500 Internal Server Error CRLF |
HTTPステータスコードは先頭の1桁によって大きく以下の5つのカテゴリに分類されており、先頭の一桁をチェックすればリクエストの成功/エラーなど大体の状態は把握できるようになっている。
コード | 基本的な意味 | |
---|---|---|
1xx | Informational | リクエストは正しく受け付けられており、クライントはリクエストを続行する必要がある |
2xx | Success | リクエストが正しく受け付けられたことを示す |
3xx | Redirection | リクエストを完了するには他のURL等を参照する必要がある |
4xx | Client Error | クライアントからの要求にエラー等があるため、リクエストが処理されなかったことを示す |
5xx | Server Error | サーバー側の問題によりリクエストが処理されなかったことを示す |
HTTP/1.1で用いられる具体的なステータスコードの値およびそれに該当する基本的なメッセージは下記の通りである。
1xx | Informational | Request received, continuing process |
---|---|---|
100 | Continue | クライアントにリクエストを継続することを指示します |
101 | Switching Protocols | 上位バージョンのHTTPでのリクエストを要求します |
2xx | Success | The action was successfully received, understood, and accepted |
200 | OK | リクエストは成功しました |
201 | Created | リクエスト成功/異なる場所にリソースが作成されました |
202 | Accepted | 要求は受け付けられましたが処理は未完了です |
203 | Non-Authoritative Information | リクエスト成功/返される結果はオリジナルのものでありません |
204 | No Content | リクエスト成功/返すべきリソースはありません |
205 | Reset Content | リクエスト成功/クライアントにリセットを要求します |
206 | Partial Content | リクエスト成功/部分的な内容を返します |
3xx | Redirection | Further action must be taken in order to complete the request |
300 | Multiple Choices | 複数の場所に置かれたリソースが利用可能です |
301 | Moved Permanently | 他の場所に移転しました |
302 | Found Moved Temporalily |
一時的に他の場所に移転しました |
303 | See Other | 他の場所を参照してください |
304 | Not Modified | 要求されたリソースに変更はありません |
305 | Use Proxy | 特定のプロキシ経由でのみ要求を受け付けます |
307 | Temporary Redirect | 要求されたリソースは一時的に異なるアドレスに置かれています |
4xx | Client Error | The request contains bad syntax or cannot be fulfilled |
400 | Bad Request | リクエストの書式にエラーがあります |
401 | Unauthorized | ユーザー認証が必要です |
402 | Payment Required | (将来拡張用) |
403 | Forbidden | アクセス権限がありません |
404 | Not Found | 要求されたリソースは存在しません |
405 | Method Not Allowed | 許可されていない要求メソッドです |
406 | Not Acceptable | 受け入れられないリソースです |
407 | Proxy Authentication Required | プロキシ認証が必要です |
408 | Request Time-out | 時間内にリクエストが完了しませんでした |
409 | Conflict | リソースに対するリクエストに矛盾があります |
410 | Gone | 要求されたリソースは現在はサーバーに存在しません(移転先不明) |
411 | Length Required | Content-Lengthに満たない長さのリクエストです |
412 | Precondition Failed | リクエストヘッダの条件が満たされませんでした |
413 | Request Entity Too Large | 許容長さを超えるリクエストエンティティが含まれています |
414 | Request-URI Too Large | 要求されたアドレスが長すぎます |
415 | Unsupported Media Type | サーバーでサポートされていないメディア形式を要求しました |
416 | Requested range not satisfiable | If-Rangeリクエストヘッダーで指定された範囲が無効です |
417 | Expectation Failed | Expectリクエストヘッダフィールド拡張が合致しません |
5xx | Server Error | The server failed to fulfill an apparently valid request |
500 | Internal Server Error | リクエスト処理中に予期せぬエラーが発生しました |
501 | Not Implemented | サーバーはリクエストを処理する機能を有していません |
502 | Bad Gateway | 上位サーバーから無効な応答を受けました |
503 | Service Unavailable | 過負荷またはメンテナンス中のため要求を処理できません |
504 | Gateway Time-out | 上位サーバーとの間でタイムアウトが発生しました |
505 | HTTP Version not supported | サポートされていないバージョンのHTTPです |
サーバーが上記以外のステータスを返す必要がある場合、サーバーは未定義のステータスコードを自由に拡張定義して使用することが出来るが、拡張定義されたステータスコードは必ず前述の分類に合致していなくてはならない(合致していないと多くのクライアントはステータスを正しく解釈しない恐れがある)。