HTTP レスポンスコードは、特定の HTTP リクエストが正常に完了したかを示します。レスポンスは情報レスポンス、成功レスポンス、リダイレクション、クライアントエラー、サーバエラーの 5 つのクラスに分類されます。
以下の表でそれらすべてを、各々の意味とともに挙げます:
ステータスコード | ステータステキスト | 説明 | HTTP バージョン |
---|---|---|---|
情報レスポンス | |||
100 | Continue | この暫定レスポンスは、その時点までのすべてに問題がなくクライアントはリクエストを継続してよい、またもしリクエストが完了している場合は無視してよいことを示します。 | HTTP/1.1 のみ |
101 | Switching Protocol | このコードはクライアントの Upgrade: リクエストヘッダの応答として送信され、サーバはプロトコルを切り替えていることを示します。これは互換性のないプロトコルバージョンへの移行を可能にするために導入されましたが、あまり使用されていません。 |
HTTP/1.1 のみ |
成功レスポンス | |||
200 |
OK |
リクエストが成功したことを示します。"成功" が意味することは、HTTP メソッドにより異なります:
|
HTTP/0.9 以降 |
201 | Created | リクエストは成功し、その結果新たなリソースが作成されたことを示します。これは一般的に、PUT リクエストを送信した後のレスポンスになります。 | HTTP/0.9 以降 |
202 | Accepted | リクエストは受理されたが、まだ実行されていないことを示します。これはあいまいであり、なぜなら HTTP ではリクエストを処理した結果を示す非同期なレスポンスを後から送信する方法がないためです。リクエストは別のプロセスかサーバが処理する、またはバッチ処理する予定です。 | HTTP/0.9 以降 |
203 | Non-Authoritative Information | このレスポンスコードは、返されるメタ情報のセットが生成元のサーバから得られるセットと同一ではなく、ローカルまたは第三者の持つ複製から収集したことを表します。このような状態を除いて、200 OK が本レスポンスより好ましいレスポンスです。 | HTTP/0.9 および 1.1 |
204 | No Content | リクエストに対して送信するコンテンツはありませんが、ヘッダは有用であることを示します。ユーザエージェントはこのリソースに関するキャッシュ済みのヘッダを、新たな内容に更新します。 | HTTP/0.9 以降 |
205 | Reset Content | このレスポンスコードはリクエストの完了後に送信され、ユーザエージェントに対し、リクエストを送信したドキュメントの表示をリセットするよう伝達します。 | HTTP/1.1 のみ |
206 | Partial Content | このレスポンスコードは、クライアントがダウンロードを複数のストリームに分けるために Range: ヘッダを送信したことを理由として使用します。 |
HTTP/1.1 のみ |
リダイレクションメッセージ | |||
300 | Multiple Choice | リクエストに対して複数のレスポンスがあることを示します。ユーザエージェントやユーザは、それらからひとつを選択します。複数のレスポンスからひとつを選ぶ方法は標準化されていません。 | HTTP/1.0 以降 |
301 | Moved Permanently | このレスポンスコードは、リクエストされたリソースの URI が変更されたことを示します。おそらく、新しい URI がレスポンス内で与えられるでしょう。 | HTTP/0.9 以降 |
302 | Found | このレスポンスコードは、リクエストされたリソースの URI が一時的に変更されたことを示します。URI は将来、新たに変更される可能性があります。従って、クライアントは将来のリクエストでも同じ URI を使用するべきです。 | HTTP/0.9 以降 |
303 | See Other | サーバはこのレスポンスを、リクエストされたリソースを別の URI で GET リクエストを使用して取得するようクライアントを誘導するために送信します。 | HTTP/0.9 および 1.1 |
304 | Not Modified | これはキャッシュ用に使用します。このレスポンスコードはクライアントに対して、レスポンスは変更されていないことを示します。よって、クライアントはキャッシュ済みのレスポンスを使い続けます。 | HTTP/0.9 以降 |
305 | Use Proxy | これは、リクエストされたリソースはプロキシサーバ経由でアクセスしなければならないことを示します。このレスポンスコードはセキュリティ上の理由から、あまりサポートされていません。 | HTTP/1.1 のみ |
306 | unused | このレスポンスコードは使用されす、現在は予約済みです。HTTP 1.1 仕様の旧バージョンでは使用されていました。 | HTTP/1.1 のみ |
307 | Temporary Redirect | サーバはこのレスポンスを、リクエストされたリソースを別の URI で、元のリクエストと同じメソッドを使用して取得するようクライアントを誘導するために送信します。これは 302 Found HTTP レスポンスコードと同じ意味を持ちますが、ユーザエージェントは使用する HTTP メソッドを変更してはならない点が異なります: 始めのリクエストで POST を用いた場合は、次のリクエストでも POST を使用しなければなりません。 |
HTTP/1.1 のみ |
308 | Permanent Redirect |
これは、リソースが 注記: これは仕様が草案段階である、実験的なレスポンスコードです。
|
draft-reschke-http-status-308 |
クライアントエラーレスポンス | |||
400 | Bad Request | このレスポンスは、無効な構文によりサーバがリクエストを理解できないことを示します。 | HTTP/0.9 以降 |
401 | Unauthorized | リクエストされたリソースを得るために認証が必要です。これは 403 と似ていますが、この場合は認証を行うことが可能です。 | HTTP/0.9 以降 |
402 | Payment Required | このレスポンスコードは、将来のために予約されています。このコードを作成した当初の目的はデジタル支払システムの使用でしたが、現時点では使用されていません。 | HTTP/0.9 および 1.1 |
403 | Forbidden | クライアントにコンテンツのアクセス権がなく、サーバは適切なレスポンスの返信を拒否していることを示します。 | HTTP/0.9 以降 |
404 | Not Found | サーバはリクエストされたリソースを発見できなかったことを示します。このレスポンスコードは Web で頻繁にみられるため、おそらくもっとも有名なコードでしょう。 | HTTP/0.9 以降 |
405 | Method Not Allowed | リクエストメソッドはサーバにとって既知ですが、無効化されているか使用できないことを示します。2 つの必須メソッド GET および HEAD は無効化してはならず、またこのエラーコードを返すべきではありません。 |
HTTP/1.1 のみ |
406 | Not Acceptable | このレスポンスは、Web サーバがサーバ駆動型コンテンツネゴシエーションを行った結果、ユーザエージェントから与えられた条件に合うコンテンツが見つからない場合に送信されます。 | HTTP/1.1 のみ |
407 | Proxy Authentication Required | これは 401 と似ていますが、プロキシサーバが認証を要求している点が異なります。 | HTTP/1.1 のみ |
408 | Request Timeout | このレスポンスはクライアントが以前にリクエストを行っていない、アイドル状態のコネクションにおいて一部のサーバが送信します。サーバは使用していないコネクションの終了を望むことを示します。このレスポンスは Chrome や IE9 など、閲覧を高速化するための HTTP 事前コネクション機能を用いる一部のブラウザでよく使用します (バグ 881804 で、Firefox に同様の機能を実装する作業を追跡しています)。また、一部のサーバはこのメッセージを送らずにコネクションを閉じることに注意してください。 | HTTP/1.1 のみ |
409 | Conflict | このレスポンスは、リクエストがサーバの現在の状態と矛盾する場合に送られるでしょう。 | HTTP/1.1 のみ |
410 | Gone | このレスポンスは、リクエストされたコンテンツがサーバから削除されている場合に送られるでしょう。 | HTTP/1.1 のみ |
411 | Length Required | サーバは Content-Length ヘッダフィールドを要求するがリクエストで定義されていないために、サーバがリクエストを拒否したことを示します。 |
HTTP/1.1 のみ |
412 | Precondition Failed | サーバ側で適合しない前提条件が、クライアント側のヘッダに含まれていることを示します。 | HTTP/1.1 のみ |
413 | Payload Too Large | リクエストの本体がサーバで定めている上限を超えていることを示します。サーバはコネクションを閉じるか、Retry-After ヘッダフィールドを返します。 |
HTTP/1.1 のみ |
414 | URI Too Long | クライアントがリクエストした URI が、サーバで扱える長さを超えていることを示します。 | HTTP/1.1 のみ |
415 | Unsupported Media Type | リクエストされたデータのメディア形式がサーバでサポートされておらず、サーバはリクエストを拒否したことを示します。 | HTTP/1.1 のみ |
416 | Requested Range Not Satisfiable | リクエスト内の Range ヘッダフィールドで指定された範囲を満たすことができないことを示します。指定した範囲が、目的の URI のデータサイズを超えている可能性があります。 |
HTTP/1.1 のみ |
417 | Expectation Failed | このレスポンスコードは、Expect リクエストヘッダで指定された内容がサーバ側と適合しないことを示します。 |
HTTP/1.1 のみ |
418 | I'm a teapot | ティーポットでコーヒーを淹れようとすると、エラーコード "418 I'm a teapot" が返ります。返されるエンティティボディは short and stout になるでしょう。 | HTCPCP/1.0 |
421 | Misdirected Request | リクエストは、レスポンスを生成できないサーバに送られました。リクエストの URI に含まれているスキームや権限の組み合わせに対してレスポンスを生成するよう設定されていないサーバが、このコードを送ることがあります。 | HTTP/2.0 |
426 | Upgrade Required | サーバは現在のプロトコルを使用したリクエストの実行を拒否しましたが、クライアントが別のプロトコルにアップグレードした後は受け入れることができます。サーバは要求するプロトコルを示すために、426 のレスポンスで Upgrade ヘッダフィールドを送信しなければなりません (Section 6.7 of [RFC7230])。 | HTTP/1.1 以降 |
428 | Precondition Required | オリジンサーバはリクエストが条件付きになることを必要としています。これは "ロストアップデート問題" (クライアントがリソースの状態を取得して変更およびサーバに送信している間に、第三者がサーバの状態を変更して競合が発生すること) を防ごうとするものです。 | HTTP/1.1 以降 |
429 | Too Many Requests | ユーザは一定の時間内に大量のリクエストを送信しました ("レート制限")。 | HTTP/1.1 以降 |
431 | Request Header Fields Too Large | ヘッダフィールドが大きすぎるため、サーバはリクエストの処理を望みません。ヘッダフィールドのサイズを削減した後に、リクエストを再送信できます。 | HTTP/1.1 以降 |
サーバエラーレスポンス | |||
500 | Internal Server Error | サーバ側で処理方法がわからない事態が発生したことを示します。 | HTTP/0.9 以降 |
501 | Not Implemented | リクエストメソッドがサーバでサポートされておらず、扱えないことを示します。サーバがサポートしなければならない (従って、このコードを返してはならない) メソッドは GET と HEAD だけです。 |
HTTP/0.9 以降 |
502 | Bad Gateway | このエラーレスポンスは、リクエストの処理に必要なレスポンスを受け取るゲートウェイとして動作するサーバが不正なレスポンスを受け取ったことを示します。 | HTTP/0.9 以降 |
503 | Service Unavailable | サーバはリクエストを処理する用意ができていないことを示します。一般的な原因は、サーバがメンテナンスや過負荷でダウンしていることです。このレスポンスとともに問題について説明する、ユーザにわかりやすいページを送信するべきであることに注意してください。このレスポンスは一時的な状況について用いられるべきであり、また可能であれば、サービスが復旧する前に Retry-After: HTTP ヘッダに予定時刻を含めるべきです。また、これら一時的な状況のレスポンスは通常キャッシュされるべきではないことから、Web 管理者はこのレスポンスとともに送られるキャッシュ関連のヘッダに注意しなければなりません。 |
HTTP/0.9 以降 |
504 | Gateway Timeout | このエラーレスポンスは、ゲートウェイとして動作するサーバが時間内にレスポンスを得られない場合に送られます。 | HTTP/1.1 のみ |
505 | HTTP Version Not Supported | リクエストで用いられた HTTP のバージョンがサーバでサポートされていないことを示します。 | HTTP/1.1 のみ |
506 | Variant Also Negotiates | サーバ内部で設定エラーが発生しました。リクエストの透過的コンテンツネゴシエーションで循環参照が発生しました。 | HTTP/1.1 |
507 | Variant Also Negotiates | サーバ内部で設定エラーが発生しました。選択したバリアントリソースは透過的コンテンツネゴシエーション自体に携わるよう設定されており、ネゴシエーションプロセスが適切に終了しません。 | HTTP/1.1 |
511 | Network Authentication Required | ステータスコード 511 は、クライアントがネットワークでアクセスするために認証が必要であることを示します。 | HTTP/1.1 |