このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
HTTP レスポンスステータスコード
HTTP のレスポンスステータスコードは、特定のHTTP リクエストが正常に完了したどうかを示します。レスポンスは 5 つに分類されています。
- 情報レスポンス (
100–199) - 成功レスポンス (
200–299) - リダイレクトメッセージ (
300–399) - クライアントエラーレスポンス (
400–499) - サーバーエラーレスポンス (
500–599)
下記の一覧はRFC 9110 で定義されているステータスコードです。
メモ:この一覧にないレスポンスを受け取った場合、それは標準外のレスポンスであり、おそらくそのサーバーソフトウェアに固有のものです。
In this article
情報レスポンス
100 Continueこれは暫定レスポンスで、その時点までのすべてに問題がなく、クライアントはリクエストを継続してよい、またもしリクエストが完了している場合はレスポンスを無視してよいことを示します。
101 Switching Protocolsこのコードはクライアントからの
Upgradeリクエストヘッダーのレスポンスとして送信され、サーバーはプロトコルを切り替えていることを示します。102 Processing非推奨;このコードはWebDAV のコンテキストで使用され、サーバーはリクエストを受け取って処理しているが、まだレスポンスを提供できないことを示します。
103 Early Hintsこのステータスコードは、主に
Linkヘッダーと共に使用することを意図しており、サーバーがレスポンスを準備している間、ユーザーエージェントにリソースの事前読み込みを開始させたり、ページがリソースを必要とする元のサーバーに事前接続させたりします。
成功レスポンス
200 OKリクエストが成功したことを示します。成功が意味することは、 HTTP メソッドにより異なります。
201 Createdリクエストは成功し、その結果新たなリソースが作成されたことを示します。これは一般的に、
POSTリクエストや、一部のPUTリクエストを送信した後のレスポンスになります。202 Acceptedリクエストは受理されたが、まだ実行されていないことを示します。これはあいまいです。 HTTP ではリクエストを処理した結果を示す非同期なレスポンスを後から送信する方法がないためです。リクエストは別のプロセスかサーバーが処理する、またはバッチ処理する予定です。
203 Non-Authoritative Informationこのレスポンスコードは、返されるメタ情報のセットがオリジンのサーバーから得られるセットと同一ではなく、ローカルまたは第三者の持つ複製から収集したことを表します。これは主に、他のリソースのミラーやバックアップを使用したときに使用されます。このような場合以外は、このステータスより
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クライアントのエラーとみなされるもの(例えば、不正なリクエスト構文、不正なリクエストメッセージフレーム、不正なリクエストルーティング)のために、 サーバーがリクエストを処理できない、あるいは処理しようとしない場合を示します。
401 UnauthorizedHTTP 標準では "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ヘッダーフィールドが大きすぎるため、サーバーはリクエストの処理を望みません。ヘッダーフィールドのサイズを削減した後に、リクエストを再送信できます。
451 Unavailable For Legal Reasonsユーザーエージェントが政府によって検閲されたウェブページなど、違法なリソースをリクエストしています。
サーバーエラーレスポンス
500 Internal Server Errorサーバー側で処理方法がわからない事態が発生したことを示します。このエラーは汎用的なエラーで、サーバーが応答に適切な
5XXステータスコードを見つけることができないことを示しています。501 Not Implementedリクエストメソッドをサーバーが対応しておらず、扱えないことを示します。サーバーが対応しなければならない (従って、このコードを返してはならない) メソッドは
GETとHEADだけです。502 Bad Gatewayこのエラーレスポンスは、リクエストの処理に必要なレスポンスを受け取るゲートウェイとして動作するサーバーが無効なレスポンスを受け取ったことを示します。
503 Service Unavailableサーバーはリクエストを処理する準備ができていないことを示します。一般的な原因は、サーバーがメンテナンスや過負荷でダウンしていることです。このレスポンスとともに問題について説明する、ユーザーにわかりやすいページを送信するべきであることに注意してください。このレスポンスは一時的な状況について使用するものであり、また可能であれば、サービスが復旧する前に 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クライアントがネットワークでアクセスするために認証が必要であることを示します。