HTTPステータスコードの一覧と概要

目次

はじめに

こんにちは。武藤です。
前回の記号の変換記事(こちら)が好評だったので、同じように一覧記事を作成しました。
インターネットを利用していたら様々なコードを見かけると思いますので、それらを一覧化しています。
HTTPステータスコードそのものの技術的な詳細や、エラーコードの解消方法などは先人の方々の参考になる記事が多数ありますので、今回の記事は「500エラーとは」「404以外のエラーコードとは」といったようなライトな調べごとに対して回答となれるように意識しています。
ステータスコード全般の概要把握に役立ててください。

コード番号

コード番号 役割 状態
100番台 情報レスポンス サーバーにて情報が受け入れ可能・処理中の状態。
200番台 成功レスポンス リクエストがサーバに送信され、受理された状態。(リクエストの成功)
300番台 リダイレクトメッセージ(リダイレクション) リクエストに対するリダイレクト(転送)が発生した状態。
400番台 クライアントエラーレスポンス クライアントの要求に誤りや問題があって処理が完了できない状態。
500番台 サーバーエラーレスポンス サーバー側に誤りや問題があってリクエストを処理できない状態。

コードの種別は概ね5種類です。
100番台から500番台までに別れ、それぞれが異なる役割を持ちます。
テキストだけだとわかりにくいので、めちゃくちゃザックリ例えると以下のような具合です。

100番台 → 店員がいて、客の対応が可能な状態
200番台 → 店員へ注文を行い、それが通った状態。
300番台 → 店員へ注文を行おうとしたら、別の担当者を案内された状態。
400番台 → 注文者側の問題で、目的が達成できない場合。
500番台 → 店側の都合で、注文が行えない状態。

100番台/情報レスポンス

Informational

コード 意味 状態
100 Continue リクエスト継続 リクエストが受信され、サーバーに拒否されていない状態
Expect: 100-continue の利用により、100 のレスポンスが確認できた場合に処理を継続させるなどの指定ができます
101 Switching Protocols プロトコル切替 プロトコル切替の表示
サーバに対してプロトコル切替をリクエストし、それがなされたことを示します
102 Processing 処理中 WebDAVで用いられ、リクエストの処理中の状態
WebDAVはファイル共有プロトコルの1種で、現在は非推奨な機能。
103 Early Hints 早期ヒントの伝達 サーバーがレスポンスを準備している間に、接続予定のサイトやリソースに関連する情報を提供
事前にリソース情報(ヒント)をブラウザ側で受け取り、CDN等の外部リソースの先読み等に用いられます。

200番台/成功レスポンス

Success

コード 意味 状態
200 OK 成功/処理 リクエストの成功。正常に処理がされた状態。
リクエストのメソッドにより200 OKのレスポンスの意味合いと形式は使い分けられます。
201 Created 成功/リソースの作成完了 リクエストが成功し、リソースの作成が完了した状態。
記事の投稿、ファイルアップロード、ユーザーの作成などの追加・登録の処理が成功したときなど。
202 Acce 承認 リクエストは成功、処理は未完了な状態。
バッチ処理など、リクエストを実行したタイミングとは別の非同期処理など。
203 Non-Authoritative In 成功/信頼できない情報 リクエストは成功したものの、オリジナルと同一かは保証できない状態。
プロキシやキャッシュサーバーなどによりサーバーの200レスポンスから変更された状態。
204 No Content 成功/内容が空 リクエストが成功し、レスポンスのbodyが空な状態。
DELETE(削除)実行時や、リクエストを実行しても画面更新がない処理のときなど。
205 Reset Conte 成功/初期化 リクエストが成功し、クライアントへ初期化指示を出す。
入力完了したフォームの情報クリアなど。
206 Partial 一部成功 部分的なコンテンツのリクエストに対しての成功。
中断した接続の再開や、コンテンツの一部分だけを請求するときなど。
207 Multi-Sta 成功/混在 WebDAVで用いられ、レスポンスが混在している状態。
前項と同じく。
208 Already Repor 成功/報告済み WebDAVで用いられ、リクエストが処理済である状態。
前項と同じく。
226 IM Used 成功/IM(インスタンス操作) HTTP デルタエンコーディングの拡張ステータスコードでIM利用中を示す状態。
IM はインスタンス操作 (instance manipulation) の略。

300番台/リダイレクトメッセージ(リダイレクション)

Redirection

コード 意味 状態
300 Multiple Choices 複数の候補 リクエストに対して返却可能な複数のレスポンスがある状態。
301 Moved Permanently 恒久的に移転 リクエストされたURLの恒久的な変更。
いわゆる301リダイレクト。ヘッダに移転先のURLが示されます。
302 Found 一時的な転送 リクエストされたURLの一時的な変更。
いわゆる302リダイレクト。一時的なリダイレクト対応など。現在は307が推奨。
303 See Other 他ページの参照を推奨 リクエストに対して別URLの参照を案内する状態。
GETメソッドで返却。ブラウザでフォームからPOSTした際、完了画面の表示など。
304 Not Modified 変更なし 再度のリクエストに対して更新が内容がないことを示す状態。
リソースをキャッシュ済の状態でリクエストを送り、再送する必要がないと判断されるとき。
305 Use Proxy プロキシ指定 指定されたプロキシサーバー経由のアクセスのみ可とする状態。
現在は非推奨。
307 Temporary Redirect 一時的な転送 リクエストされたURLの一時的な変更。
いわゆる307リダイレクト。302と異なり同じメソッドを保証する。
308 Permanent Redirect 恒久的な転送 リクエストされたURLの恒久的な変更。
いわゆる308リダイレクト。301と異なり同じメソッドを保証する。

400番台/クライアントエラーレスポンス

Client Error

コード 意味 状態
400 Bad Request不正なリクエストリクエストに誤りがあり処理に失敗した状態。
URLやクエリ文字列のミス、ブラウザ起因の原因、容量超過の場合など。
401 Unauthorized無許可・認証エラーbasic認証やログインコンテンツの認証に失敗した状態。
401 authorization required で表示されたりもする。
402 Payment Required要支払リクエスト実行に支払いが必要であると示す状態。
2026年現在では標準外。将来の活用のために予約されているコード。
403 Forbidden禁止・アクセス禁止リクエストを受理し、拒否した状態。
IP制限など特定の許可領域に対象外のクライアントがアクセスを試みた際に返却。
404 Not Found未発見・存在しないリクエストされたリソースが存在しない状態。
悲しい。
405 Method Not Allowed許可されていないメソッドリクエストを受理し、許可されていないメソッドのために拒否した状態。
GETのみが許可されているAPIをPOSTで利用を試みるなど。
406 Not Acceptable受け入れ不可リクエストされたヘッダ情報の中にサーバが対応可能なものがない状態。
クライアントが送信したAcceptヘッダ内にサーバで返却可能な形式がない状態。返却されることは稀。
407 Proxy Authentication Requiredプロキシへの認証が必要リクエストされたサーバにアクセス可能なプロキシサーバへの認証情報を求めている状態。
リクエスト前にプロキシサーバへの認証を済ませる必要がある。稀。
408 Request Timeoutタイムアウトクライアントがサーバへ接続後、規定時間内にリクエストを送信完了できなかった状態。
ブラウザが機能として利用している場合や、回線速度の低下による処理未完了のときなど。
409 Conflict競合・衝突リクエストの内容が現在のサーバリソースと矛盾するために処理が実行できない状態。
編集の競合や、既存のファイルよりも古いファイルのアップロードを試みている場合など。
410 Gone消滅リクエストされたリソースが恒久的に消滅した状態。
コンテンツの所有者側で意図的に削除をし、再掲の予定がないことを示す状態。
411 Length Requiredデータの長さの指定が必要リクエストにContent-Lengthヘッダ設定されておらず、サーバが拒否した状態。
Content-Length ヘッダーは受信側に対して、送信するデータのバイト数を示します。
412 Precondition Failed前提条件の失敗リクエストがサーバ側の前提条件を満たしていない状態。
409に近い。編集リクエストの対象が既に変更されており、編集リクエストの衝突を予防したりなど。
413 Content Too Largeコンテンツ超過リクエストした内容がサーバ側の制限値を越えている状態。
POSTデータが大きすぎる場合など。以前は「Payload Too Large」だった。
414 URI Too LongURI超過リクエストしたURIの長さがサーバ側の制限値を越えている状態。
以前は「Request-URI Too Long」。URL(Uniform Resource Locator)はURI(Uniform Resource Identifier)の一種。
415 Unsupported Media Type非対応のメディアタイプリクエストしたメディアタイプ(コンテンツ)がサーバで対応していないことを示す状態。
アップ可能な画像がjpgにも拘らずpngをPOSTしたときなど。
416 Range Not Satisfiable要求範囲を満たせないリクエストで指定された範囲が満たされない状態。
Range指定のリクエスト実行時に指定した範囲が、実際のリソースのサイズを越えている場合など。
417 Expectation FailedExpectヘッダの要求失敗リクエストしたExpectヘッダの要件をサーバで満たすことができない状態。
Expect: 100-continue のリクエスト時に成功条件を満たしていないケース。
418 I'm a teapot私はティーポットである私はティーポットである。故にコーヒーを入れることを拒否する。
ジョーク用。お行儀の悪いリクエストに返してあげましょう。
419非公式。LaravelでCSRFトークンのエラーやPage Expiredで用いられたりする。
421 Misdirected Requestリクエストの宛先ミスリクエストが間違ったサーバを指定している状態。
リバースプロキシの設定ミスやロードバランサーのミス、ブラウザの誤ったキャッシュやSSL/TLS証明書の不一致など。
422 Unprocessable Content処理できないリクエストコンテンツリクエストは適正だがサーバで処理できない状態。
LaravelやAPIでバリデーションエラー時や必須フィールドの欠落時に返す(らしい)。
423 Locked対象のロックWebDAVで用いられ、リクエストした対象のリソースがロックされている状態。
424 Failed Dependency依存関係の失敗WebDAVで用いられ、リクエストしたアクションが別のアクションに依存しており、それが失敗した状態。
425 Too Early早すぎるリクエストFirefoxで用いられ、リクエスト間隔が早すぎることを示す状態。
クライアントが早期データ(Early-Data)を送信し、その処理に失敗した際に返す(らしい)。
426 Upgrade Requiredアップグレードの要求リクエストのHTTPS/HTTPバージョンが古いため、アップグレードを要求している状態。
通信プロトコルの切替を要求する際に返す(らしい)。
428 Precondition Required条件付きリクエストの要求サーバ側でリクエストを条件付きにする必要があることを示す状態。
サーバの更新時など、競合防止のために「現在のサーバの状態」を前提条件を含めるように求める場合など。
429 Too Many Requestsリクエストの送信過多短時間に既定値以上のリクエストを送信したため、サーバからアクセスを制限されている状態。
botやクローラーにDDoS攻撃などのアクセス過多。リダイレクトループなど。◯レバンの予約競争などでも…
431 Request Header Fields Too Largeリクエストヘッダのフィールド超過リクエストのHTTPヘッダーが規定値を超過している状態。
Referer の URL が長すぎる場合やCookieが大量に存在する状態など。
451 Unavailable For Legal Reasons法的な理由に基づいた拒否リクエスト対象が法的な理由で利用できない状態。
華氏451度に因んでいるとのこと。「5ちゃんねる」などはこれを用いて欧州アクセスをブロックしているようです。

500番台/サーバーエラーレスポンス

Server Error

コード 意味 状態
500 Internal Server Errorサーバーエラーサーバーエラーによりリクエストが実行できない状態。
サーバーエラー全体を指し示しており、適切な5XXエラーが不明な状態。
501 Not Implemented未実装サーバーがリクエスト実行に必要な機能に対応していない状態。
実装されていないメソッドであることの表示。
502 Bad Gateway不正なゲートウェイクライアントとサーバ間の中継地点にて、サーバから無効なリクエストを受け取った状態。
サーバ自身はゲートウェイ(プロキシ等)へエラーを返却できている。リバースプロキシやCSNの設定ミスでも起こりうる。
503 Service Unavailableサービス停止サーバーがリクエストを処理する準備ができていない状態。
アクセス負荷で一時的にサーバーが落ちている状態や、メンテナンス中など。
504 Gateway Timeoutゲートウェイのタイムアウトクライアントとサーバ間の中継地点にて、サーバから応答がない状態。
502がプロキシ宛にエラーを返却しているのに対し、何も応答がない状態。
505 HTTP Version Not Supportedサポート対象外のHTTPバージョンリクエストのHTTPバージョンにサーバが対応していない状態。
古いサーバにHTTP/2をリクエストしたり、新しいサーバにHTTP/1.0でアクセスを試みるなど。
506 Variant Also Negotiates循環参照リクエストに対しサーバが対応できない様式の状態。
コンテンツの配置ミスや無限ループ。
507 Insufficient Storageストレージ不足リクエストの完了に必要なストレージ容量が不足している状態。
WebDAVで用いられていたが、サーバリバースの不足を示す状態として他でも用いられるようになった。
508 Loop Detected無限ループリクエスト処理中に無限ループに陥った状態。
無限ループのためにサーバが処理を打ち切り(終了)した状態。
510 Not Extended拡張機能に未対応リクエストで拡張機能を指定したが、それにサーバが対応していない状態。
とあるが、レンタルサーバでは静的ファイルへのアクセス集中などの一時エラーで用いている模様。
511 Network Authentication Requiredネットワーク認証の要求リクエストに対し、ネットワークアクセスのための認証が必要な状態。
リクエスト送信前に認証を求めるケースで、公共Wi-Fiの同意など。
521 Web server is downサーバーダウンリクエストがCloudflareに接続できたが、Cloudflareがオリジンサーバーに接続できない状態。
Cloudflare固有のステータス。

おわりに

ここまで読んでいただいてありがとうございます。
AIの進化によって検索結果に概要がまとめられているような時代に、記事を最後まで読んでいただけるのは嬉しいです。

今回の記事はHTTPのステータスコードが実際には勉強したことがなかったなと、改めてそれぞれの意味を確認しようと思ったのがきっかけです。
すると様々な記事は参考になりましたが、「そもそもステータスコードって何なん?」レベルの目線に立っているのはなかなか少ないなと感じました。
技術的な詳細やエラーの解消記事はすでに先人がたくさん作成してくれていますので、ここではなるべく簡易に・他の人へも伝えやすいように、というのを意識しました。

なので、それぞれのコードの内容は手打ちです。
時代に逆行しているかもしれませんが、AIに記事を任せるというのはどうにも好きになれず。
参考記事をAIに投げて「要約して」の一言で終わらせるような量産記事には絶対にしたくなく、ささやかな反抗心でタイピングし続けました。

この文を読んでいるということは、何か引っかかるものがあって記事詳細を開き、ここまで読み進めていただいたといことだと思いますので本当にありがたい次第です。
なんらかの学習に役立ったり、他人へのレクチャーへ使える内容になっていたら幸いです。

baserCMSやWebサイト構築のご相談など
お気軽にお問い合わせください

お問い合わせ
  • このエントリーをはてなブックマークに追加

AUTHOR

武藤 海

武藤 海 シニアディレクター

エンジニアの方が気持ちよく作業できるように心がけています。

こんな記事も書いています