スペック早見表

HTTPステータスコード早見表|全コード一覧と意味・原因・対処法

HTTPレスポンスのステータスコードを1xx(情報)・2xx(成功)・3xx(リダイレクト)・4xx(クライアントエラー)・5xx(サーバーエラー)の5カテゴリで網羅。Web開発・API設計・サーバー運用・SEOで頻出するコード35種について、意味・主な発生原因・対処法を一覧表示します。

📌 よく使う HTTPステータスコード TOP12

コード名称意味カテゴリ
200OK正常2xx 成功
201Created作成完了2xx 成功
204No Contentコンテンツなし2xx 成功
301Moved Permanently恒久的リダイレクト3xx
302Found一時的リダイレクト3xx
304Not Modified未更新(キャッシュ)3xx
400Bad Request不正なリクエスト4xx
401Unauthorized未認証4xx
403Forbiddenアクセス禁止4xx
404Not Found未検出4xx
500Internal Server Errorサーバー内部エラー5xx
503Service Unavailableサービス停止中5xx

※ オレンジ網掛けは特に頻出。下記の検索ツールで番号入力すれば詳細(意味・原因・対処法)を確認できます。

よく使う:

検索結果

上の欄にHTTPステータスコード番号(100〜599)を入力してください。

このページについて

HTTPステータスコードはサーバーがクライアントに返す3桁の数字で、リクエストの結果を示します。本ページではRFC 9110(HTTPセマンティクス)・RFC 7230に基づき、Web開発・API設計・サーバー運用・SEO対応で頻出する35コードを網羅しています。

フロントエンドエンジニア・バックエンドエンジニア・SREエンジニア・SEO担当者・Webディレクターまで、「APIから返ってきた422って何?」「301と302どちらを使うべき?」「500が出たがどう調査する?」といった現場で頻発する疑問に即答できる構成にしました。

HTTPステータスコード 完全一覧

各コードのカテゴリ・意味・主な発生原因・対処法を網羅。検索ツールで番号入力すれば該当行をハイライトできます。

コード名称カテゴリ意味主な原因対処法
100Continue
継続
1xx 情報リクエスト継続OK。クライアントは送信を続けてよいExpect:100-continue ヘッダ送信時のサーバー応答通常はクライアントが自動処理。手動対応不要
101Switching Protocols
プロトコル切替
1xx 情報プロトコル切替の承認(例:HTTP→WebSocket)Upgrade ヘッダで別プロトコルへの切替要求WebSocket接続成立時に発生。エラーではない
200OK
正常
2xx 成功リクエスト成功。レスポンスボディに結果通常の成功応答対応不要。正常動作
201Created
作成完了
2xx 成功リソース作成成功(主にPOST/PUT)新規リソースの作成API成功時Location ヘッダで新規URLを取得して次の処理へ
202Accepted
受理
2xx 成功受理したが処理は未完(非同期処理)バッチ処理・キューイング応答ポーリングまたはWebhookで完了通知を待つ
204No Content
コンテンツなし
2xx 成功成功したがレスポンスボディなし(DELETE/PUT等)削除成功・更新成功でデータ返却不要時対応不要。ステータスのみ確認
206Partial Content
部分コンテンツ
2xx 成功部分的応答(Rangeリクエスト時)動画・大容量ファイルのストリーミングContent-Range ヘッダでデータ範囲を確認
301Moved Permanently
恒久的リダイレクト
3xx リダイレクトURLが恒久的に移動。SEOではリンク評価を引き継ぐサイト引越し・URL正規化・http→httpsLocation ヘッダの新URLへ。ブックマーク更新推奨
302Found
一時的リダイレクト
3xx リダイレクトURLが一時的に移動。SEOではリンク評価を引き継がないログイン後の遷移・メンテナンス・A/BテストLocation ヘッダの一時URLへ。元URLは残る
303See Other
他を参照
3xx リダイレクトPOST後にGETで別URLを取得すべき(PRGパターン)フォーム送信後のリダイレクトLocation ヘッダのURLへGETで再要求
304Not Modified
未更新
3xx リダイレクトキャッシュが有効。再ダウンロード不要If-Modified-Since / If-None-Match の条件付きGETブラウザがキャッシュを使用。エラーではない
307Temporary Redirect
一時的リダイレクト(メソッド維持)
3xx リダイレクト302と類似だがHTTPメソッドを維持POSTのままリダイレクトしたい場合302の代わりにメソッド保持が必要なケースで使用
308Permanent Redirect
恒久的リダイレクト(メソッド維持)
3xx リダイレクト301と類似だがHTTPメソッドを維持POSTのまま恒久リダイレクト301の代わりにメソッド保持が必要なケースで使用
400Bad Request
不正なリクエスト
4xx クライアントエラーリクエストの構文・パラメータが不正JSON構文エラー・必須パラメータ欠落・型不一致リクエストボディ・ヘッダ・URLパラメータを再確認
401Unauthorized
未認証
4xx クライアントエラー認証情報がない・無効(認証必須)Authorizationヘッダ欠落・トークン期限切れ・APIキー誤り正しい認証情報を付与。トークン再発行・APIキー確認
403Forbidden
アクセス禁止
4xx クライアントエラー認証は通ったが権限不足他人のリソース・管理者権限不足・IPブロック・CORS設定サーバー側の権限設定・ロール・ACLを確認
404Not Found
未検出
4xx クライアントエラーリソースが存在しないURL誤り・削除済み・存在しないAPI エンドポイントURL確認・ルーティング設定確認・APIドキュメント参照
405Method Not Allowed
メソッド非対応
4xx クライアントエラーHTTPメソッドが許可されていない(例:GETしか受けない所にPOST)GET専用エンドポイントにPOST等Allow ヘッダで対応メソッドを確認
408Request Timeout
リクエストタイムアウト
4xx クライアントエラー規定時間内にリクエスト完了せずネットワーク遅延・大容量アップロードリトライ・接続安定化・タイムアウト値見直し
409Conflict
競合
4xx クライアントエラーリソースの状態が競合(楽観的ロック等)同一リソースの同時更新・既に存在するレコード作成試行最新状態を取得して再試行
410Gone
削除済み
4xx クライアントエラーリソースが恒久的に削除済み(404と違い意図的削除)古いAPI廃止・コンテンツ削除代替URL・新APIへ移行
413Payload Too Large
ペイロード過大
4xx クライアントエラーリクエストボディが大きすぎるファイルアップロードの上限超過ファイル分割・サーバー側 client_max_body_size 調整
414URI Too Long
URI過長
4xx クライアントエラーURLが長すぎるGETでクエリパラメータを大量に送信POSTで本文に送る方式に変更
415Unsupported Media Type
未対応形式
4xx クライアントエラーContent-Typeが未対応サーバーが受け付けない形式(例:XMLしか受けないのにJSON送信)Content-Typeヘッダを正しく設定
418I'm a teapot
ティーポットです
4xx クライアントエラージョークコード(エイプリルフールRFC 2324由来)実装ジョーク・特殊用途通常は使用しない
422Unprocessable Entity
処理不能
4xx クライアントエラー構文は正しいがバリデーション失敗メアド形式違反・必須項目空・型違反等バリデーションエラー詳細を確認して入力修正
429Too Many Requests
リクエスト過多
4xx クライアントエラーレート制限超過短時間に大量アクセス・APIクォータ消費Retry-Afterヘッダの秒数待機・指数バックオフ・APIキーアップグレード
451Unavailable For Legal Reasons
法的理由で利用不可
4xx クライアントエラー法律上の理由で提供できない地域制限・著作権・GDPR・国の検閲等VPN・正当な手続きでの取得・代替コンテンツ
500Internal Server Error
サーバー内部エラー
5xx サーバーエラーサーバー内で予期しないエラーコードバグ・DB接続失敗・例外未捕捉サーバーログ確認・エラートラッキング(Sentry等)で原因特定
501Not Implemented
未実装
5xx サーバーエラーリクエストされた機能が未実装メソッド未対応・API未完成対応メソッド・APIバージョンを確認
502Bad Gateway
不正なゲートウェイ
5xx サーバーエラー上流サーバーから無効なレスポンスリバースプロキシ越しのバックエンド停止・タイムアウトバックエンドサーバー稼働確認・nginx/Apache設定見直し
503Service Unavailable
サービス利用不可
5xx サーバーエラーサーバー過負荷・メンテナンス中サーバーダウン・メンテ・DDoSRetry-Afterヘッダの時間待機。継続的な場合は運用に連絡
504Gateway Timeout
ゲートウェイタイムアウト
5xx サーバーエラー上流サーバーの応答が時間内に得られずバックエンド処理が長い・ネットワーク遅延処理時間短縮・タイムアウト値拡大・非同期化
505HTTP Version Not Supported
HTTPバージョン未対応
5xx サーバーエラーリクエストのHTTPバージョンが未対応HTTP/0.9等の古いバージョン送信HTTP/1.1以上を使用
511Network Authentication Required
ネットワーク認証必要
5xx サーバーエラーWiFi等のネットワーク認証必要公衆WiFiのキャプティブポータル未通過WiFi接続後にブラウザでログインページから認証

カテゴリ別の解説

1xx Informational(情報)

リクエストは受理されたが処理継続中であることを示します。ブラウザは通常自動処理するため、開発者が直接扱う機会は少ない。WebSocketプロトコル切替時の101が代表例。

2xx Success(成功)

リクエストが成功したことを示します。200は通常のレスポンス、201はリソース作成成功(POST/PUT)、204はレスポンスボディなしの成功(DELETE等)。RESTful APIではこれらを明確に使い分けるのが定石。

3xx Redirection(リダイレクト)

別のURLへの転送を示します。SEO上は301(恒久)が新URLにリンク評価を引き継ぐのに対し、302(一時)は元URLの評価を保持します。HTTPメソッドを維持したい場合は307/308を使用。

4xx Client Error(クライアントエラー)

リクエスト側に問題があることを示します。400(構文エラー)・401(未認証)・403(権限不足)・404(未検出)が頻出。422(バリデーション失敗)・429(レート制限)・451(法的理由)はAPI設計で重要。

5xx Server Error(サーバーエラー)

サーバー側に問題があることを示します。500(内部エラー)・502(ゲートウェイ不正)・503(過負荷/メンテ)・504(タイムアウト)が頻出。リバースプロキシ(nginx/Apache)とバックエンド(アプリ)のどちらが原因かを切り分けるのが対応の起点。

HTTPステータスコードの分類の意味

HTTPステータスコードは、サーバーがリクエストの処理結果をクライアントに伝える3桁の番号です。先頭の数字で大きく分類され、1xxは情報、2xxは成功、3xxはリダイレクト、4xxはクライアント側の誤り、5xxはサーバー側の誤りを表します。

この分類によって、問題がクライアント側にあるのかサーバー側にあるのかを素早く切り分けられます。301(恒久的)と302(一時的)のリダイレクトの使い分けは、検索エンジンの評価やキャッシュの扱いに影響します。

APIを設計するときは、状況に合った適切なステータスコードを返すことで、呼び出し側が結果を正しく処理できます。コードの意味を共有することが、Webの相互運用性を支えています。

使い方・選び方のポイント

使用場面

Web開発・API設計・サーバー運用でのエラー切り分け、レスポンス確認に使います。

よくある間違い

4xx(クライアント側)と5xx(サーバー側)の責任の取り違え、301と302の使い分け、404と410の混同に注意します。

選び方のコツ

①2xx成功/3xxリダイレクト/4xxクライアント/5xxサーバーで大分類 ②リダイレクトは恒久301・一時302 ③APIは状況に合った適切なコードを返す。

よくある質問

Q1. 301と302の違いは?

A. 301は恒久的リダイレクト302は一時的リダイレクトです。SEO上では301はリンク評価を新URLに引き継ぐのに対し、302は元URLの評価を保持します。サイト引越しや http→https は301、ログイン後遷移やA/Bテストは302を使います。

Q2. 404と410の違いは?

A. 404はリソースが見つからない(理由不明)、410は意図的に恒久削除済みを意味します。410はGoogleのクローラーに『二度と来なくていい』と伝えるため、廃止済みURLには410を返すとインデックス整理が早まります。

Q3. 500と502と503の違いは?

A. 500はサーバー内部で予期しないエラー(コードバグ等)、502は上流サーバーから無効レスポンス(リバースプロキシ越しのバックエンド停止)、503はサーバー過負荷・メンテナンス中(一時的に利用不可)。503はRetry-Afterヘッダで再試行時間を指定できます。

Q4. 401と403の違いは?

A. 401はそもそも認証されていない(ログインしていない)、403は認証は通ったが権限不足(他人のデータにアクセス等)です。401は『誰だか分からない』、403は『あなたは誰か分かるが権限がない』と覚えると良いでしょう。

Q5. なぜAPIで204を返すのか?

A. DELETE成功時や、空配列を返したい更新APIなど『成功したがレスポンスボディが不要』なケースで使います。200で空ボディを返すよりも、204の方がHTTP的に正確で帯域も節約できます。

Q6. CORSエラーは何番ですか?

A. CORSエラーはステータスコードとしては通常200や403で返ってきますが、ブラウザがAccess-Control-Allow-Originヘッダの不一致を検出してJavaScriptに結果を渡さない仕様です。サーバー側で適切なCORSヘッダを設定する必要があります。

Q7. HTTPステータスコードが『418 I'm a teapot』なのはなぜ?

A. 1998年のエイプリルフールRFC 2324『HTCPCP(Hyper Text Coffee Pot Control Protocol)』のジョークコードです。実装ジョークとして残されています。Googleやnodejsの一部でも実装例があります。

Q8. リダイレクトコードの選び方は?

A. 恒久移動なら301(SEO評価引継ぎ)、一時移動なら302です。HTTPメソッドを維持したい場合は307(一時)/308(恒久)を使います。例えばPOSTのままリダイレクトしたい場合は307/308が必須です。

Q9. SEO的に301と302どちらを使うべき?

A. URL変更が恒久的なら必ず301を使います。302は『一時的な変更』をGoogleに伝えるため、元URLのインデックスが残り続けます。引越し済みなのに302を使うとSEO評価が分散します。

Q10. ステータスコードを確認する方法は?

A. ブラウザならF12開発者ツールのNetworkタブで確認できます。コマンドラインなら curl -I [URL] でヘッダだけ取得、-v で詳細表示。Chrome拡張『Redirect Path』やcurlコマンドが定番です。

関連する早見表

関連規格・出典

  • RFC 9110「HTTP Semantics」(2022) — 現行HTTPセマンティクスの標準
  • RFC 7230〜7235「HTTP/1.1」(2014) — 旧標準・現在も参照される
  • RFC 6585 — 追加ステータスコード(428, 429, 431, 511)
  • RFC 7725 — 451 Unavailable For Legal Reasons
  • IANA HTTP Status Code Registry — 公式登録一覧
  • MDN Web Docs / Mozilla HTTP Status Reference

最終更新: 2026-07-04