HTTPレスポンスのステータスコード一覧

目次

HTTPレスポンスのステータスコードとは

HTTPレスポンスのステータスコードは、サーバがクライアントからのリクエストをどのように処理したかを示す3桁の数値です。

HTTP/1.1 200 OK
HTTP/1.1 404 Not Found

ステータスコードの分類

番号 意味
1xx 情報(処理継続中)
2xx 成功
3xx リダイレクト
4xx クライアント起因(リクエスト不備・認証/認可)
5xx サーバ起因(処理失敗)

ステータスコードの一覧

コード 英字 説明
100 Continue クライアントはリクエストを続けて良い
200 OK リクエストが成功しレスポンスが返されます。正常処理を表します。
201 Created リソース作成成功
204 No Content 成功したがレスポンスボディなし
301 Moved Permanently 指定したリソースは移動したので、新しい場所から取得してください。
サイトの引越しをしたときは、この値を設定します。
302 Moved Temporarily 指定したリソースは一時的に移動したので、新しい場所から取得してください。
一時的にサイトの場所を変える時にこの値を設定します。
304 Not Modified 指定したファイルは変更されていないのでブラウザのキャッシュのデータを表示してください。
307 Temporary Redirect 一時的に別のURLへリダイレクトする
HTTPメソッド(POSTなど)を変更せずに再送する
308 Permanent Redirect 恒久的に別のURLへ移動している
HTTPメソッドを変更せずに再送する
400 Bad Request リクエストが不正です。
401 Unauthorized 認証に失敗しました。
403 Forbidden アクセス権がありません。
404 Not Found リクエストしたアドレスのページがありません。
408 Request Timeout リクエストがタイムアウトしました。
500 Internal Server Error サーバ内部の予期しないエラー
502 Bad Gateway ゲートウェイ/プロキシが無効なレスポンスを受け取りました。
503 Service Unavailable サービスが提供できません。
Webサーバーに負荷がかかりすぎたときなどに表示されます。
504 Gateway Timeout 上流からのレスポンスが時間内に得られないときに表示されます。

補足

301:SEOやURL正規化で使用

302:一時的な移動

POSTリダイレクトでは以下も重要:
・307 Temporary Redirect(メソッド維持)
・308 Permanent Redirect(恒久・メソッド維持)

メソッドを絶対変えたくないときに使うコード

302は歴史的理由で挙動が曖昧なため、307/308を使うケースも多い

 

401 と 403 の違い

401:認証が必要(未ログイン・認証情報不正)
403:認証済みでもアクセス禁止(権限不足など)

 

304 Not Modified の仕組み(キャッシュ)

304は通常のエラーではなく、キャッシュ制御の一部です。

流れ

  1. クライアントが条件付きリクエスト送信(If-Modified-Since/If-None-Match(ETag))
  2. サーバが変更なしと判断
  3. 304を返す(本文なし)

クライアントは手元のキャッシュを再利用

関連の記事

「HTTPリクエスト」と「HTTPレスポンス」とは

△上に戻る