HTTP ステータスコード

訪問者がウェブページを閲覧する際、訪問者のブラウザはウェブページが置かれているサーバーにリクエストを送信します。ブラウザがウェブページを受信して表示する前に、このウェブページが置かれているサーバーは、ブラウザのリクエストに応答するための HTTP ステータスコードを含む情報ヘッダー(サーバーヘッダー)を返します。

HTTP ステータスコードの英語はHTTP Status Code。

以下は一般的な HTTP ステータスコードです:

  • 1xx(情報ステータスコード):受け取ったリクエストが処理中であることを示します。
  • 2xx(成功ステータスコード):リクエストが正常に処理完了したことを示します。
  • 3xx(リダイレクトステータスコード):このリクエストを完了するには後続の操作が必要です。
  • 4xx(クライアントエラーステータスコード):リクエストに構文エラーが含まれているか、リクエストを完了できないことを示します。
  • 5xx(サーバーエラーステータスコード):サーバーがリクエストを処理する過程でエラーが発生したことを示します。

HTTP ステータスコードの分類

HTTP ステータスコードは3桁の10進数で構成され、最初の10進数がステータスコードのタイプを定義します。レスポンスは5つのカテゴリに分類されます:情報レスポンス(100〜199)、成功レスポンス(200〜299)、リダイレクト(300〜399)、クライアントエラー(400〜499)、サーバーエラー(500〜599):

分類 分類の説明
1** 情報。サーバーはリクエストを受信し、リクエスト送信者に操作の継続を求めます
2** 成功。操作が正常に受信され処理されました
3** リダイレクト。リクエストを完了するにはさらなる操作が必要です
4** クライアントエラー。リクエストに構文エラーが含まれているか、リクエストを完了できません
5** サーバーエラー。サーバーがリクエストを処理する過程でエラーが発生しました

HTTP ステータスコード一覧:

ステータスコード ステータスコードの英語名 説明
100 Continue 継続。クライアントはリクエストを継続する必要があります
101 Switching Protocols プロトコル切り替え。サーバーはクライアントのリクエストに応じてプロトコルを切り替えます。より上位のプロトコルにのみ切り替えることができます。例えば、HTTP の新しいバージョンのプロトコルに切り替えます
200 OK リクエスト成功。通常 GET リクエストと POST リクエストに使用されます
201 Created 作成完了。リクエストが成功し、新しいリソースが作成されました
202 Accepted 受理済み。リクエストは受理されましたが、処理は完了していません
203 Non-Authoritative Information 非権威情報。リクエストは成功しました。ただし、返されるメタ情報は元のサーバーではなく、コピーです
204 No Content コンテンツなし。サーバーは正常に処理しましたが、コンテンツを返しませんでした。ウェブページを更新しない場合、ブラウザが現在のドキュメントを表示し続けることを保証します
205 Reset Content コンテンツのリセット。サーバーの処理は成功し、ユーザー端末(例:ブラウザ)はドキュメントのビューをリセットする必要があります。このレスポンスコードを使用して、ブラウザのフォームフィールドをクリアできます
206 Partial Content 部分コンテンツ。サーバーは GET リクエストの一部を正常に処理しました
300 Multiple Choices 複数の選択肢。リクエストされたリソースには複数の場所が含まれる可能性があり、ユーザー端末(例:ブラウザ)が選択できるように、リソースの特徴とアドレスのリストを返すことができます
301 Moved Permanently 恒久移動。リクエストされたリソースは新しい URI に恒久的に移動されました。返される情報には新しい URI が含まれ、ブラウザは自動的に新しい URI へリダイレクトされます。今後、新しいリクエストはすべて新しい URI を使用する必要があります
302 Found 一時的移動。301 と似ています。ただし、リソースは一時的に移動されただけです。クライアントは元の URI を引き続き使用する必要があります
303 See Other 他のアドレスを参照。301 と似ています。GET リクエストと POST リクエストを使用して参照します
304 Not Modified 未変更。リクエストされたリソースは変更されていません。サーバーがこのステータスコードを返すとき、リソースは返されません。クライアントは通常、アクセスしたリソースをキャッシュしており、指定した日付以降に変更されたリソースのみを返すよう希望することを示すヘッダー情報を提供します
305 Use Proxy プロキシの使用。リクエストされたリソースはプロキシを経由してアクセスする必要があります
306 Unused 廃止された HTTP ステータスコード
307 Temporary Redirect 一時的リダイレクト。302 と似ています。GET リクエストを使用してリダイレクトします
400 Bad Request クライアントのリクエストに構文エラーがあり、サーバーが理解できません
401 Unauthorized リクエストはユーザーの認証を要求します
402 Payment Required 予約済み、将来使用
403 Forbidden サーバーはクライアントのリクエストを理解しましたが、このリクエストの実行を拒否しました
404 Not Found サーバーはクライアントのリクエストに基づいてリソース(ウェブページ)を見つけることができません。このコードを使用して、ウェブサイトの設計者は「お探しのリソースは見つかりませんでした」というカスタムページを設定できます
405 Method Not Allowed クライアントのリクエスト内のメソッドが禁止されています
406 Not Acceptable サーバーはクライアントのリクエストのコンテンツ特性に基づいてリクエストを完了できません
407 Proxy Authentication Required リクエストはプロキシの認証を要求します。401 と似ていますが、リクエスト者はプロキシを使用して認証を受ける必要があります
408 Request Time-out サーバーがクライアントから送信されるリクエストを待つ時間が長すぎるため、タイムアウトしました
409 Conflict サーバーがクライアントの PUT リクエストを完了するときに返される可能性があるコードです。サーバーがリクエストを処理する際に競合が発生しました
410 Gone クライアントがリクエストしたリソースは既に存在しません。410 は 404 とは異なります。リソースが以前に存在し、現在は完全に削除されている場合は 410 コードを使用できます。ウェブサイトの設計者は 301 コードを使用してリソースの新しい場所を指定できます
411 Length Required サーバーはクライアントが送信した Content-Length を含まないリクエスト情報を処理できません
412 Precondition Failed クライアントのリクエスト情報の前提条件がエラーです
413 Request Entity Too Large リクエストのエンティティが大きすぎるため、サーバーは処理できず、リクエストを拒否します。クライアントの連続的なリクエストを防ぐため、サーバーは接続を閉じる場合があります。サーバーが一時的に処理できないだけの場合は、Retry-After のレスポンス情報が含まれます
414 Request-URI Too Large リクエストの URI が長すぎるため(URI は通常 URL)、サーバーは処理できません
415 Unsupported Media Type サーバーはリクエストに付随するメディア形式を処理できません
416 Requested range not satisfiable クライアントのリクエストの範囲が無効です
417 Expectation Failed(期待失敗) サーバーはリクエストヘッダーの Expect フィールドで指定された期待される動作を満たすことができません。
418 I'm a teapot ステータスコード 418 は実際にはエイプリルフールの冗談です。これは RFC 2324 で定義されており、この RFC はハイパーテキストコーヒーポット制御プロトコル(HTCPCP)に関するジョーク文書です。このジョークでは、418 ステータスコードは HTTP プロトコルに冗談として追加されました。
500 Internal Server Error サーバー内部エラー。リクエストを完了できません
501 Not Implemented サーバーはリクエストされた機能をサポートしていないため、リクエストを完了できません
502 Bad Gateway ゲートウェイまたはプロキシとして動作するサーバーがリクエストを実行しようとしたとき、リモートサーバーから無効なレスポンスを受信しました
503 Service Unavailable 過負荷またはシステムメンテナンスのため、サーバーは一時的にクライアントのリクエストを処理できません。遅延の長さはサーバーの Retry-After ヘッダー情報に含めることができます
504 Gateway Time-out ゲートウェイまたはプロキシとして機能するサーバーが、リモートサーバーからリクエストをタイムリーに取得できませんでした
505 HTTP Version not supported サーバーはリクエストされた HTTP プロトコルのバージョンをサポートしていないため、処理を完了できません
その他の拡張