IT学習ガイドに戻る

HTTPステータスコード図鑑

Web開発で出会う主要なステータスコードを分かりやすく解説

1xx 情報レスポンス
100
Continue
リクエスト継続OK。サーバーがリクエストの最初の部分を受け取り、残りを待っている状態です。
使用例: 大きなファイルアップロード時に、サーバーが受け入れ可能か確認する際に返される。
101
Switching Protocols
プロトコル切替。クライアントの要求に応じてプロトコルを変更します。
使用例: HTTPからWebSocketへのアップグレード時に返される。
2xx 成功レスポンス
200
OK
リクエスト成功。最も一般的なレスポンスで、正常に処理が完了したことを示します。
使用例: GETリクエストでデータ取得成功、POSTでフォーム送信成功など。
201
Created
リソース作成成功。リクエストが成功し、新しいリソースが作成されました。
使用例: REST APIでPOSTリクエストにより新規ユーザーやデータが作成された時。
204
No Content
成功だがレスポンスボディなし。処理は成功したが返すデータがない場合に使います。
使用例: DELETEリクエストでリソース削除成功時に返される。
3xx リダイレクト
301
Moved Permanently
恒久的な移動。リソースが永久に新しいURLに移動しました。
使用例: サイトのURL構造を変更した時。SEO的にも重要で、検索エンジンに新URLを伝える。
302
Found
一時的な移動。リソースが一時的に別のURLにあります。
使用例: メンテナンス中に一時的に別ページへ転送する場合。
304
Not Modified
キャッシュ利用可。リソースが変更されていないため、キャッシュを使用できます。
使用例: ブラウザキャッシュが有効な場合、サーバーは304を返して帯域を節約する。
4xx クライアントエラー
404
Not Found
リソースが見つからない。インターネットで最も有名なエラーコードです。指定されたURLにリソースが存在しません。
よくある原因: URLの打ち間違い、ページが削除された、リンク切れ、ルーティング設定ミスなど。
対策: カスタム404ページを作成してユーザー体験を改善しましょう。
400
Bad Request
不正なリクエスト。構文エラーなどでサーバーが理解できないリクエストです。
よくある原因: JSONの構文エラー、必須パラメータの欠落、不正な文字コードなど。
401
Unauthorized
認証が必要。リソースにアクセスするには認証(ログイン)が必要です。
よくある原因: トークンの期限切れ、ログインしていない、認証ヘッダーの欠落。
403
Forbidden
アクセス禁止。認証はされているが、そのリソースへのアクセス権限がありません。
よくある原因: 管理者専用ページへの一般ユーザーアクセス、ファイルパーミッション不足。
405
Method Not Allowed
メソッド不許可。指定されたHTTPメソッド(GET/POST等)が許可されていません。
よくある原因: GETのみ対応のエンドポイントにPOSTリクエストを送った場合など。
408
Request Timeout
タイムアウト。サーバーがリクエストの完了を待つ時間が超過しました。
よくある原因: ネットワーク遅延、大量データの送信中に接続が切れた場合。
429
Too Many Requests
リクエスト過多。短時間に大量のリクエストを送りすぎています(レート制限)。
よくある原因: API呼び出しの制限超過。Retry-Afterヘッダーで待ち時間を確認する。
5xx サーバーエラー
500
Internal Server Error
サーバー内部エラー。サーバー側で予期しないエラーが発生しました。
よくある原因: アプリケーションのバグ、未処理の例外、設定ファイルのエラーなど。
502
Bad Gateway
不正なゲートウェイ。プロキシやゲートウェイが上流サーバーから無効な応答を受け取りました。
よくある原因: バックエンドサーバーのダウン、Nginxとアプリサーバー間の通信失敗。
503
Service Unavailable
サービス利用不可。サーバーが一時的にリクエストを処理できない状態です。
よくある原因: メンテナンス中、サーバー過負荷、デプロイ中の一時的な停止。
504
Gateway Timeout
ゲートウェイタイムアウト。プロキシが上流サーバーからの応答を時間内に受け取れませんでした。
よくある原因: バックエンドの処理が重すぎる、データベースクエリのタイムアウト。