HTTP レスポンスステータスコード
HTTP のレスポンスステータスコードは、特定の HTTP リクエストが正常に完了したどうかを示します。 レスポンスは 5 つに分類されています。
- 情報レスポンス (
100–199) - 成功レスポンス (
200–299) - リダイレクトメッセージ (
300–399) - クライアントエラーレスポンス (
400–499) - サーバーエラーレスポンス (
500–599)
下記の一覧は RFC 9110 で定義されているステータスコードです。
メモ: この一覧にないレスポンスを受け取った場合、それは標準外のレスポンスであり、おそらくそのサーバーソフトウェアに固有のものです。
情報レスポンス
100 Continue-
これは暫定レスポンスで、その時点までのすべてに問題がなく、クライアントはリクエストを継続してよい、またもしリクエストが完了している場合はレスポンスを無視してよいことを示します。
101 Switching Protocols-
このコードはクライアントからの
Upgradeリクエストヘッダーのレスポンスとして送信され、サーバーはプロトコルを切り替えていることを示します。 102 Processing-
このコードは WebDAV のコンテキストで使用され、サーバーはリクエストを受け取って処理しているが、まだレスポンスを提供できないことを示します。
103 Early Hints-
このステータスコードは、主に
Linkヘッダーと共に使用することを意図しており、サーバーがレスポンスを準備している間、ユーザーエージェントにリソースの事前読み込みを開始させたり、ページがリソースを必要とする元のサーバーに事前接続させたりします。
成功レスポンス
200 OK-
リクエストが成功したことを示します。成功が意味することは、 HTTP メソッドにより異なります。
201 Created-
リクエストは成功し、その結果新たなリソースが作成されたことを示します。これは一般的に、
POSTリクエストや、一部のPUTリクエストを送信した後のレスポンスになります。 202 Accepted-
リクエストは受理されたが、まだ実行されていないことを示します。 これはあいまいです。 HTTP ではリクエストを処理した結果を示す非同期なレスポンスを後から送信する方法がないためです。 リクエストは別のプロセスかサーバーが処理する、またはバッチ処理する予定です。
-
このレスポンスコードは、返されるメタ情報のセットがオリジンのサーバーから得られるセットと同一ではなく、ローカルまたは第三者の持つ複製から収集したことを表します。 これは主に、他のリソースのミラーやバックアップを使用したときに使用されます。 このような場合以外は、このステータスより
200 OKのほうが好ましいレスポンスです。 204 No Content-
リクエストに対して送信するコンテンツはありませんが、ヘッダーは有用であることを示します。ユーザーエージェントはこのリソースに関するキャッシュ済みのヘッダーを、新たな内容に更新します。
205 Reset Content-
ユーザーエージェントに対し、リクエストを送信した文書をリセットするよう伝達します。
206 Partial Content-
このレスポンスコードは、クライアントがリソースの一部だけをリクエストする範囲リクエストへのレスポンスで使用されます。
207 Multi-Status(WebDAV)-
複数のステータスコードがあてはまる状況で、複数のリソースに関する情報を伝えます。
208 Already Reported(WebDAV)-
同じコレクションに繰り返し複数のバインディングする内部メンバーを列挙することを避けるため、
<dav:propstat>レスポンス要素の内部で使用します。 226 IM Used(HTTP Delta encoding)-
サーバーはリソースへの
GETリクエストの処理を完了しており、レスポンスは現在のインスタンスに適用された 1 つ以上のインスタンス操作の結果を表します。
リダイレクトメッセージ
300 Multiple Choices-
エージェント駆動型コンテンツネゴシエーションにおいて、リクエストには複数のレスポンスがある可能性があり、ユーザーエージェントまたはユーザーはそれらの中から 1 つを選ぶ必要があります。クライアントがレスポンスを自動的に選択する標準的な方法はないため、これはほとんど使用されません。
301 Moved Permanently-
リクエストされたリソースの URL が永遠に変更されたことを示します。レスポンスで新しい URL が与えられます。
302 Found-
このレスポンスコードは、リクエストされたリソースの URI が 一時的に 変更されたことを示します。 URI は将来、さらに変更される可能性があります。従って、クライアントは将来のリクエストでも同じ URI を使用するべきです。
303 See Other-
サーバーはこのレスポンスを、リクエストされたリソースを別の URI で GET リクエストを使用して取得するようクライアントを誘導するために送信します。
304 Not Modified-
これはキャッシュ用に使用します。 クライアントにレスポンスが変更されておらず、クライアントはこのレスポンスのキャッシュされたバージョンを使い続けることができることを伝えます。
305 Use Proxy-
これは旧バージョンの HTTP 仕様書で、リクエストされたレスポンスはプロキシーからアクセスしなければならないことを示していました。 プロキシーのインバンド設定に関するセキュリティの懸念により、このレスポンスコードは非推奨になりました。
306 unused-
このレスポンスコードはもう使用されず、予約済みです。 HTTP/1.1 仕様書の旧バージョンでは使用されていました。
307 Temporary Redirect-
サーバーはこのレスポンスを、リクエストされたリソースを別の URI で、元のリクエストと同じメソッドを使用して取得するようクライアントを誘導するために送信します。 これは
302 FoundHTTP レスポンスコードと同じ意味を持ちますが、ユーザーエージェントは使用する HTTP メソッドを変更してはならない点が異なります。始めのリクエストでPOSTを用いた場合は、次のリクエストでもPOSTを使用しなければなりません。 308 Permanent Redirect-
これは、リソースが HTTP の
Locationレスポンスヘッダーで指定した別の URI へ永続的に置かれていることを示します。 これは301 Moved PermanentlyHTTP レスポンスコードと同じ意味を持ちますが、ユーザーエージェントは使用する HTTP メソッドを変更してはならない点が異なります。始めのリクエストでPOSTを用いた場合は、次のリクエストでもPOSTを使用しなければなりません。
クライアントエラーレスポンス
400 Bad Request-
クライアントのエラーとみなされるもの(例えば、不正なリクエスト構文、不正なリクエストメッセージフレーム、不正なリクエストルーティング)のために、 サーバーがリクエストを処理できない、あるいは処理しようとしない場合を示します。
-
HTTP 標準では "unauthorized" (不許可) と定義されていますが、意味的にはこのレスポンスは "unauthenticated" (未認証) です。 つまり、クライアントはリクエストされたレスポンスを得るためには認証を受けなければなりません。
402 Payment Required-
このレスポンスコードは、将来のために予約されています。このコードは当初、デジタル決済システムで使用するために作成されましたが、ごく稀にしか使用されておらず、標準的な慣例はありません。
403 Forbidden-
認証されていないなどの理由でクライアントにコンテンツのアクセス権がなく、サーバーが適切なレスポンスの返信を拒否していることを示します。
401 Unauthorizedとは異なり、クライアントの ID がサーバーに知られています。 404 Not Found-
サーバーがリクエストされたリソースを発見できないことを示します。 ブラウザーでは、これは URL が解釈できなかったことを意味します。 API では、これは通信先が有効であるものの、リソース自体が存在しないことを意味することがあります。 サーバーは認証されていないクライアントからリソースの存在を隠すために、
403 Forbiddenの代わりにこのレスポンスを返すことがあります。 このレスポンスコードはウェブで頻繁に見られるため、おそらくもっとも有名なコードでしょう。 405 Method Not Allowed