HTTP 応答状態コードは、特定の HTTP 要求が正常に完了したかを示します。応答は情報応答、成功応答、リダイレクト、クライアントエラー、サーバーエラーの 5 つのクラスに分類されます。状態コードはRFC 2616 の第10章で定義されています。

情報応答

100 Continue
この暫定応答は、その時点までのすべてに問題がなくクライアントは要求を継続してよい、またもし要求が完了している場合は無視してよいことを示します。
101 Switching Protocol
このコードはクライアントの Upgrade 要求ヘッダーの応答として送信され、サーバーはプロトコルを切り替えていることを示します。
102 Processing (WebDAV)
このコードは、サーバーは要求を受け取って処理しているが、まだ応答を提供できないことを示します。

成功応答

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
この応答コードは、クライアントがダウンロードを複数のストリームに分けるために Range ヘッダーを送信したことを理由として使用します。
207 Multi-Status (WebDAV)
Multi-Status 応答は、複数の状態コードがあてはまる状況で、複数のリソースに関する情報を伝えます。
208 Multi-Status (WebDAV)
同じコレクションに繰り返し複数のバインディングする内部メンバーを列挙することを避けるため、 DAV: propstat 応答エレメントの内部で使用します。
226 IM Used (HTTP Delta encoding)
サーバーはリソースへの GET 要求の処理を完了しており、応答は現在のインスタンスに適用された 1 つ以上の instance manipulation の結果を表します。

リダイレクションメッセージ

300 Multiple Choice
要求に対して複数の応答があることを示します。ユーザーエージェントやユーザーは、それらからひとつを選択します。複数の応答からひとつを選ぶ方法は標準化されていません。
301 Moved Permanently
この応答コードは、要求されたリソースの URI が変更されたことを示します。おそらく、新しい URI が応答内で与えられるでしょう。
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
これは、リソースが Location: HTTP 応答ヘッダーで指定した別の URI へ永続的に置かれていることを示します。これは 301 Moved Permanently HTTP 応答コードと同じ意味を持ちますが、ユーザーエージェントは使用する HTTP メソッドを変更してはならない点が異なります。始めの要求で POST を用いた場合は、次の要求でも POST を使用しなければなりません。

クライアントエラー応答

400 Bad Request
この応答は、構文が無効であるためサーバーが要求を理解できないことを示します。
401 Unauthorized
HTTP 標準では "unauthorized" (不許可) と定義されていますが、意味的にはこの応答は "unauthenticated" (未認証) です。つまり、クライアントは要求応答を得るためには認証されなければなりません。
402 Payment Required
この応答コードは、将来のために予約されています。このコードを作成した当初の目的はデジタル支払システムの使用でしたが、現時点では使用されていません。
403 Forbidden
認証されていないなどの理由でクライアントにコンテンツのアクセス権がなく、サーバーが適切な応答の返信を拒否していることを示します。 401 とは異なり、クライアントの識別子がサーバーに知られています。
404 Not Found
サーバーが要求されたリソースを発見できないことを示します。ブラウザーでは、これは URL が解釈できなかったことを意味します。 API では、これは通信先が有効であるものの、リソース自体が存在しないことを意味することがあります。サーバーは認証されていないクライアントからリソースの存在を隠すために、 403 の代わりにこの応答を返すことがあります。この応答コードはウェブで頻繁に見られるため、おそらくもっとも有名なコードでしょう。
405 Method Not Allowed
サーバーが要求メソッドを理解しているものの、無効にされており使用することができません。例えば、 API がリソースを DELETE することを禁止できます。 GET 及び HEAD の二つは必須で、無効にすることができず、このエラーコードを返してはいけません。
406 Not Acceptable
この応答は、ウェブサーバーが サーバー駆動型コンテンツネゴシエーション を行った結果、ユーザーエージェントから与えられた条件に合うコンテンツが見つからない場合に送信されます。
407 Proxy Authentication Required
これは 401 に似ていますが、プロキシサーバーが認証を要求している点が異なります。
408 Request Timeout
この応答はクライアントが以前に要求を行っていない、アイドル状態のコネクションにおいて一部のサーバーが送信します。サーバーは使用していないコネクションの終了を望むことを示します。この応答は Chrome、Firefox 27 以降、IE9 など、閲覧を高速化するための HTTP 事前接続機能を使用する一部のブラウザでよく使用します。また、一部のサーバーはこのメッセージを送らずにコネクションを閉じることに注意してください。
409 Conflict
この応答は、要求がサーバーの現在の状態と矛盾する場合に送られるでしょう。
410 Gone
この応答は、要求されたコンテンツがサーバーから永久に削除され、転送先アドレスがない場合に送られます。クライアントはこのリソースへのキャッシュやリンクを削除することが期待されます。 HTTP 仕様書ではこのコードを「期間限定のプロモーションサービス」に使用することを意図しています。 API はこの状態コードの場合、削除されたリソースを無理に示そうとするべきではありません。
411 Length Required
サーバーは Content-Length ヘッダー項目を要求するが要求で定義されていないために、サーバーが要求を拒否したことを示します。
412 Precondition Failed
サーバー側で適合しない前提条件が、クライアント側のヘッダーに含まれていることを示します。
413 Payload Too Large
要求の本体がサーバーで定めている上限を超えていることを示します。サーバーはコネクションを閉じるか、Retry-After ヘッダー項目を返します。
414 URI Too Long
クライアントが要求した URI が、サーバーで扱える長さを超えていることを示します。
415 Unsupported Media Type
要求されたデータのメディア形式をサーバーが対応しておらず、サーバーは要求を拒否したことを示します。
416 Requested Range Not Satisfiable
要求内の Range ヘッダー項目で指定された範囲を満たすことができないことを示します。指定した範囲が、目的の URI のデータサイズを超えている可能性があります。
417 Expectation Failed
この応答コードは、Expect 要求ヘッダーで指定された内容がサーバー側と適合しないことを示します。
418 I'm a teapot
サーバーは、ティーポットでコーヒーを淹れようとする試みを拒否します。
421 Misdirected Request
要求は、応答を生成できないサーバーに送られました。要求の URI に含まれているスキームや権限の組み合わせに対して応答を生成するよう設定されていないサーバーが、このコードを送ることがあります。
422 Unprocessable Entity (WebDAV)
要求は適正ですが、意味が誤っているために従うことができません。
423 Locked (WebDAV)
アクセス中のリソースはロックされています。
424 Failed Dependency (WebDAV)
前の要求が失敗したため、この要求も失敗しました。
426 Upgrade Required
サーバーは現在のプロトコルを使用した要求の実行を拒否しましたが、クライアントが別のプロトコルにアップグレードした後は受け入れることができます。サーバーは要求するプロトコルを示すために、426 の応答で Upgrade ヘッダー項目を送信しなければなりません。
428 Precondition Required
オリジンサーバーは要求が条件付きになることを必要としています。これは "ロストアップデート問題" (クライアントがリソースの状態を取得して変更およびサーバーに送信している間に、第三者がサーバーの状態を変更して競合が発生すること) を防ごうとするものです。
429 Too Many Requests
ユーザーは一定の時間内に大量の要求を送信しました ("レート制限")。
431 Request Header Fields Too Large
ヘッダー項目が大きすぎるため、サーバーは要求の処理を望みません。ヘッダー項目のサイズを削減した後に、要求を再送信できます。
451 Unavailable For Legal Reasons
政府によって検閲されたウェブページなど、ユーザーは違法なリソースを要求しています。

サーバーエラー応答

500 Internal Server Error
サーバー側で処理方法がわからない事態が発生したことを示します。
501 Not Implemented
要求メソッドをサーバーが対応しておらず、扱えないことを示します。サーバーが対応しなければならない (従って、このコードを返してはならない) メソッドは GETHEAD だけです。
502 Bad Gateway
このエラー応答は、要求の処理に必要な応答を受け取るゲートウェイとして動作するサーバーが無効な応答を受け取ったことを示します。
503 Service Unavailable
サーバーは要求を処理する準備ができていないことを示します。一般的な原因は、サーバーがメンテナンスや過負荷でダウンしていることです。この応答とともに問題について説明する、ユーザーにわかりやすいページを送信するべきであることに注意してください。この応答は一時的な状況について使用するものであり、また可能であれば、サービスが復旧する前に Retry-After: HTTP ヘッダーに予定時刻を含めるべきです。また、これら一時的な状況の応答は通常キャッシュされるべきではないことから、ウェブ管理者はこの応答とともに送られるキャッシュ関連のヘッダーに注意しなければなりません。
504 Gateway Timeout
このエラー応答は、ゲートウェイとして動作するサーバーが時間内に応答を得られない場合に送られます。
505 HTTP Version Not Supported
要求で使用した HTTP のバージョンをサーバーが対応していないことを示します。
506 Variant Also Negotiates
サーバー内部で設定エラーが発生しました。要求の透過的コンテンツネゴシエーションで循環参照が発生しました。
507 Insufficient Storage
サーバー内部で設定エラーが発生しました。選択したバリアントリソースは透過的コンテンツネゴシエーション自体に携わるよう設定されており、ネゴシエーションプロセスが適切に終了しません。
508 Loop Detected (WebDAV)
サーバーは、要求の処理中に無限ループを検出しました。
510 Not Extended
サーバーが要求を処理するために、要求をさらに拡張することが必要です。
511 Network Authentication Required
状態コード 511 は、クライアントがネットワークでアクセスするために認証が必要であることを示します。

ブラウザーの対応

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
100 あり あり あり あり あり あり
200 あり あり あり あり あり あり
201 あり あり あり あり あり あり
204 あり あり あり あり あり あり
206 あり あり あり あり あり あり
301 あり あり あり あり あり あり
302 あり あり あり あり あり あり
303 あり あり あり あり あり あり
304 あり あり あり あり あり あり
307 あり あり あり あり あり あり
308 あり あり あり あり あり あり
401 あり あり あり あり あり あり
403 あり あり あり あり あり あり
404 あり あり あり あり あり あり
406 あり あり あり あり あり あり
407 あり あり あり あり あり あり
410 あり あり あり あり あり あり
412 あり あり あり あり あり あり
416 あり あり あり あり あり あり
451 あり あり あり あり あり あり
500 あり あり あり あり あり あり
501 あり あり あり あり あり あり
502 あり あり あり あり あり あり
503 あり あり あり あり あり あり
504 あり あり あり あり あり あり
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
100 あり あり あり あり あり あり あり
200 あり あり あり あり あり あり あり
201 あり あり あり あり あり あり あり
204 あり あり あり あり あり あり あり
206 あり あり あり あり あり あり あり
301 あり あり あり あり あり あり あり
302 あり あり あり あり あり あり あり
303 あり あり あり あり あり あり あり
304 あり あり あり あり あり あり あり
307 あり あり あり あり あり あり あり
308 あり あり あり あり あり あり あり
401 あり あり あり あり あり あり あり
403 あり あり あり あり あり あり あり
404 あり あり あり あり あり あり あり
406 あり あり あり あり あり あり あり
407 あり あり あり あり あり あり あり
410 あり あり あり あり あり あり あり
412 あり あり あり あり あり あり あり
416 あり あり あり あり あり あり あり
451 あり あり あり あり あり あり あり
500 あり あり あり あり あり あり あり
501 あり あり あり あり あり あり あり
502 あり あり あり あり あり あり あり
503 あり あり あり あり あり あり あり
504 あり あり あり あり あり あり あり

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, mdmss37, yyss, fscholz, hamasaki
最終更新者: mfuji09,