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-
サーバーがリクエストメソッドを理解しているものの、対象のリソースでは利用できません。 例えば、 API がリソースを
DELETEすることを禁止したり、TRACEメソッドを完全に禁止したりすることができます。 406 Not Acceptable-
このレスポンスは、ウェブサーバーがサーバー駆動型コンテンツネゴシエーションを行った結果、ユーザーエージェントから与えられた条件に合うコンテンツが見つからなかった場合に送信されます。
407 Proxy Authentication Required-
これは
401 Unauthorizedと似ていますが、プロキシーサーバーが認証を要求している点が異なります。 408 Request Timeout-
このレスポンスはクライアントが以前にリクエストを行っていない、アイドル状態の接続において一部のサーバーが送信します。 サーバーが使用していない接続の終了を望んでいることを示します。 このレスポンスは、閲覧を高速化するための HTTP 事前接続機能を使用する一部のブラウザーでよく使用します。 また、一部のサーバーはこのメッセージを送らずに接続を閉じることに注意してください。
409 Conflict-
このレスポンスは、リクエストがサーバーの現在の状態と矛盾する場合に送られます。 WebDAV リモートウェブオーサリングでは、
409レスポンスは、ユーザーが競合を解決してリクエストを再送信できるように、クライアントに送信されるエラーです。 410 Gone-
このレスポンスは、リクエストされたコンテンツがサーバーから永久に削除され、転送先アドレスがない場合に送られます。 クライアントはこのリソースへのキャッシュやリンクを削除することが期待されます。 HTTP 仕様書ではこのコードを「期間限定のプロモーションサービス」に使用することを意図しています。 API はこのステータスコードの場合、削除されたリソースを無理に示そうとするべきではありません。
411 Length Required-
サーバーが
Content-Lengthヘッダーフィールドを要求しているが、リクエストで定義されていないために、サーバーがリクエストを拒否したことを示します。 412 Precondition Failed-
条件付きリクエストでは、クライアントは、サーバーが満たしていない前提条件をヘッダーで示しています。
413 Content Too Large-
リクエストの本体がサーバーで定めている上限を超えていることを示します。 サーバーは接続を閉じるか、
Retry-Afterヘッダーフィールドを返します。 414 URI Too Long-
クライアントがリクエストした URI が、サーバーで扱える長さを超えていることを示します。
415 Unsupported Media Type-
リクエストされたデータのメディア形式をサーバーが対応しておらず、サーバーはリクエストを拒否したことを示します。
416 Range Not Satisfiable-
リクエスト内の
Rangeヘッダーフィールドで指定された範囲を満たすことができないことを示します。 指定した範囲が、目的の URI のデータサイズを超えている可能性があります。 417 Expectation Failed-
このレスポンスコードは、
Expectリクエストヘッダーで指定された期待がサーバー側と適合しないことを示します。 418 I'm a teapot-
サーバーは、ティーポットでコーヒーを淹れようとする試みを拒否します。
421 Misdirected Request-
リクエストは、レスポンスを生成できないサーバーに送られました。 リクエストの URI に含まれているスキームや権限の組み合わせに対してレスポンスを生成するよう設定されていないサーバーが、このコードを送ることがあります。
422 Unprocessable Content(WebDAV)-
リクエストは適正ですが、意味が誤っているために従うことができません。
423 Locked(WebDAV)-
アクセス中のリソースはロックされています。
424 Failed Dependency(WebDAV)-
前のリクエストが失敗したため、このリクエストも失敗しました。
425 Too EarlyExperimental-
サーバーが、繰り返される可能性のあるリクエストを処理するリスクを望まないことを示します。
426 Upgrade Required-
サーバーは現在のプロトコルを使用したリクエストの実行を拒否しましたが、クライアントが別のプロトコルにアップグレードした後は受け入れることができます。 サーバーは必要なプロトコルを示すために、426 のレスポンスで
Upgradeヘッダーフィールドを送信しなければなりません。 428 Precondition Required-
オリジンサーバーはリクエストが条件付きになることを要求しています。 このレスポンスは、クライアントがリソースの状態を
GETし、それを変更してサーバーにPUTするまでの間に、第三者がサーバー上の状態を変更することで競合が発生する「更新の損失」の問題を防ぐためのものです。 429 Too Many Requests-
ユーザーは一定の時間内に大量のリクエストを送信しました(レート制限。
431 Request Header Fields Too Large-
ヘッダーフィールドが大きすぎるため、サーバーはリクエストの処理を望みません。 ヘッダーフィールドのサイズを削減した後に、リクエストを再送信できます。
-
ユーザーエージェントが政府によって検閲されたウェブページなど、違法なリソースをリクエストしています。
サーバーエラーレスポンス
500 Internal Server Error-
サーバー側で処理方法がわからない事態が発生したことを示します。 このエラーは汎用的なエラーで、サーバーが応答に適切な
5XXステータスコードを見つけることができないことを示しています。 501 Not Implemented-
リクエストメソッドをサーバーが対応しておらず、扱えないことを示します。サーバーが対応しなければならない (従って、このコードを返してはならない) メソッドは
GETとHEADだけです。 502 Bad Gateway-
このエラーレスポンスは、リクエストの処理に必要なレスポンスを受け取るゲートウェイとして動作するサーバーが無効なレスポンスを受け取ったことを示します。
-
サーバーはリクエストを処理する準備ができていないことを示します。 一般的な原因は、サーバーがメンテナンスや過負荷でダウンしていることです。 このレスポンスとともに問題について説明する、ユーザーにわかりやすいページを送信するべきであることに注意してください。 このレスポンスは一時的な状況について使用するものであり、また可能であれば、サービスが復旧する前に HTTP の
Retry-Afterヘッダーに予定時刻を含めてください。 また、これら一時的な状況のレスポンスは通常キャッシュされるべきではないことから、ウェブ管理者はこのレスポンスとともに送られるキャッシュ関連のヘッダーに注意しなければなりません。 504 Gateway Timeout-
このエラーレスポンスは、ゲートウェイとして動作するサーバーが時間内にレスポンスを得られない場合に送られます。
505 HTTP Version Not Supported-
リクエストで使用した HTTP のバージョンにサーバーが対応していないことを示します。
506 Variant Also Negotiates-
サーバーに内部構成エラーがあることを示します。選択したバリアントリソースが透過的コンテンツネゴシエーション自体に携わるよう設定されており、ネゴシエーションプロセスが正しく終了しなかったことを示します。
507 Insufficient Storage(WebDAV)-
サーバーがリクエストを完了させるのに必要な表現を保存することができなかったため、メソッドがリソースに対して実行できなかったことを示します。
508 Loop Detected(WebDAV)-
サーバーは、リクエストの処理中に無限ループを検出しました。
510 Not Extended-
サーバーがリクエストを処理するために、リクエストをさらに拡張することが必要です。
511 Network Authentication Required-
クライアントがネットワークでアクセスするために認証が必要であることを示します。
ブラウザーの互換性
Loading…