HTTPステータスコード完全ガイド

flowchart TB subgraph HTTPステータスコード体系 A1["🌐 1xx 情報系"] A2["✅ 2xx 成功系"] A3["🔄 3xx リダイレクト系"] A4["❌ 4xx クライアントエラー"] A5["🚨 5xx サーバーエラー系"] end classDef info fill:#3498db,color:#fff classDef success fill:#27ae60,color:#fff classDef redirect fill:#f39c12,color:#fff classDef clientErr fill:#e67e22,color:#fff classDef serverErr fill:#c0392b,color:#fff class A1 info class A2 success class A3 redirect class A4 clientErr class A5 serverErr

ステータスコードカテゴリ概要

カテゴリ色コード意味
1xx 情報青色 `#3498db`処理中通知
2xx 成功緑色 `#27ae60`正常終了
3xx リダイレクト橙色 `#f39c12`追加処理必要
4xx クライアントエラー橙色 `#e67e22`リクエスト異常
5xx サーバーエラー赤色 `#c0392b`サーバー処理失敗

1xx 情報系ステータスコード

コード名称説明
100Continueリクエスト継続指示
101Switching Protocolsプロトコル変更承認
102Processing処理中通知(WebDAV)
103Early Hints事前レスポンスヘッダー

主な利用シナリオ

100 Continue
  • 大容量データ送信前の確認
  • curlコマンド検証例:
    curl -I -H "Expect: 100-continue" https://example.com/upload
101 Switching Protocols
  • WebSocketやHTTP/2のプロトコル切り替え
  • 検証コマンド:
    curl -i --include \
          -H "Connection: Upgrade" \
          -H "Upgrade: websocket" \
          https://example.com/ws

2xx 成功ステータスコード

コード名称説明
200OK正常終了
201Createdリソース新規作成
202Accepted受理(非同期処理)
204No Content成功但しレスポンス無し
206Partial Content範囲リクエスト成功

主な検証方法

201 Created
curl -i -X POST https://example.com/users \
  -H "Content-Type: application/json" \
  -d '{"name":"田中"}'
206 Partial Content
curl -i -H "Range: bytes=0-99" https://example.com/file.zip

3xx リダイレクトステータスコード

コード名称説明
301Moved Permanently恒久的移動
302Found一時的移動
303See OtherGETリダイレクト
304Not Modifiedキャッシュ利用
307Temporary Redirectメソッド保持リダイレクト
308Permanent Redirect恒久的メソッド保持

304 Not Modified検証

curl -i \
  -H "If-None-Match: \"abc123\"" \
  https://example.com/data

4xx クライアントエラーコード

コード名称説明
400Bad Requestリクエスト構文エラー
401Unauthorized認証必要
403Forbidden権限不足
404Not Foundリソース不存在
429Too Many Requestsレート制限超過

401 Unauthorized対応

curl -i \
  -H "Authorization: Bearer <token>" \
  https://example.com/protected

5xx サーバーエラーコード

コード名称説明
500Internal Server Error内部処理異常
502Bad Gatewayアップストリーム障害
503Service Unavailable過負荷/メンテナンス
504Gateway Timeoutタイムアウト

502 Bad Gateway検証

curl -i http://localhost:8080/health

共通診断ツール

# リダイレクト追跡
curl -L -I https://example.com/redirect

# ネットワーク状態確認
traceroute example.com
flowchart LR A["🔍 ステータスコード"] --> B{分類} B -->|2xx| Z["✅ 成功"] B -->|3xx| Y["🔄 リダイレクト確認"] B -->|4xx| X["❌ リクエスト修正"] B -->|5xx| W["🚨 サーバー状態確認"]

タグ: HTTP API Web開発 ステータスコード ネットワーク

9月28日 18:09 投稿