このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

HTTP レスポンスステータスコード

HTTP のレスポンスステータスコードは、特定の HTTP リクエストが正常に完了したどうかを示します。 レスポンスは 5 つに分類されています。

  1. 情報レスポンス (100199)
  2. 成功レスポンス (200299)
  3. リダイレクトメッセージ (300399)
  4. クライアントエラーレスポンス (400499)
  5. サーバーエラーレスポンス (500599)

下記の一覧は RFC 9110 で定義されているステータスコードです。

メモ: この一覧にないレスポンスを受け取った場合、それは標準外のレスポンスであり、おそらくそのサーバーソフトウェアに固有のものです。

情報レスポンス

100 Continue

これは暫定レスポンスで、その時点までのすべてに問題がなく、クライアントはリクエストを継続してよい、またもしリクエストが完了している場合はレスポンスを無視してよいことを示します。

101 Switching Protocols

このコードはクライアントからの Upgrade リクエストヘッダーのレスポンスとして送信され、サーバーはプロトコルを切り替えていることを示します。

102 Processing

このコードは WebDAV のコンテキストで使用され、サーバーはリクエストを受け取って処理しているが、まだレスポンスを提供できないことを示します。

103 Early Hints

このステータスコードは、主に Link ヘッダーと共に使用することを意図しており、サーバーがレスポンスを準備している間、ユーザーエージェントにリソースの事前読み込みを開始させたり、ページがリソースを必要とする元のサーバーに事前接続させたりします。

成功レスポンス

200 OK

リクエストが成功したことを示します。成功が意味することは、 HTTP メソッドにより異なります。

  • GET: リソースが読み込まれ、メッセージ本文で転送された。
  • HEAD: メッセージ本文がなく、表現ヘッダーがレスポンスに含まれている。
  • PUT または POST: 操作の結果を表すリソースがメッセージ本文で送信される。
  • TRACE: メッセージ本文に、サーバーが受け取ったリクエストメッセージが含まれている。
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 Found HTTP レスポンスコードと同じ意味を持ちますが、ユーザーエージェントは使用する HTTP メソッドを変更してはならない点が異なります。始めのリクエストで POST を用いた場合は、次のリクエストでも POST を使用しなければなりません。

308 Permanent Redirect

これは、リソースが HTTP の Location レスポンスヘッダーで指定した別の URI へ永続的に置かれていることを示します。 これは 301 Moved Permanently HTTP レスポンスコードと同じ意味を持ちますが、ユーザーエージェントは使用する HTTP メソッドを変更してはならない点が異なります。始めのリクエストで POST を用いた場合は、次のリクエストでも POST を使用しなければなりません。

クライアントエラーレスポンス

400 Bad Request

クライアントのエラーとみなされるもの(例えば、不正なリクエスト構文、不正なリクエストメッセージフレーム、不正なリクエストルーティング)のために、 サーバーがリクエストを処理できない、あるいは処理しようとしない場合を示します。

401 Unauthorized

HTTP 標準では "unauthorized" (不許可) と定義されていますが、意味的にはこのレスポンスは "unauthenticated" (未認証) です。 つまり、クライアントはリクエストされたレスポンスを得るためには認証を受けなければなりません。

402 Payment Required

このレスポンスコードは、将来のために予約されています。このコードは当初、デジタル決済システムで使用するために作成されましたが、ごく稀にしか使用されておらず、標準的な慣例はありません。

403 Forbidden

認証されていないなどの理由でクライアントにコンテンツのアクセス権がなく、サーバーが適切なレスポンスの返信を拒否していることを示します。 401 Unauthorized とは異なり、クライアントの ID がサーバーに知られています。

404 Not Found

サーバーがリクエストされたリソースを発見できないことを示します。 ブラウザーでは、これは URL が解釈できなかったことを意味します。 API では、これは通信先が有効であるものの、リソース自体が存在しないことを意味することがあります。 サーバーは認証されていないクライアントからリソースの存在を隠すために、 403 Forbidden の代わりにこのレスポンスを返すことがあります。 このレスポンスコードはウェブで頻繁に見られるため、おそらくもっとも有名なコードでしょう。

405 Method Not Allowed