▪️目的
この記事では、HTTPステータスコードの400番台について解説します。
*200、300番台について解説している記事はこちら
→「https://lovelabengineer.com/2026/09/24/httpステータスコードとは?-200番台について解説/」
「https://lovelabengineer.com/2026/09/26/httpステータスコードとは?-300番台について解説/」
▪️HTTPステータスコード 400番台とは
400番台のエラーは主に「クライアント側」のリクエストに問題がある時に表示されるステータスコードです。
♦︎400(Bad Request)
400(Bad Request)は、クライアントからのリクエストの形式や内容がおかしい時に表示されます。
例えば、「URLのスペルミス」「JSONのデータ破損」「必須パラメータが存在しない」などが該当します。
まとめると「リクエストの形式・内容が期待されていたものと異なる」場合に表示されます。
♦︎401(Unauthorized)
401(Unauthorized)は、クライアントにページへのアクセス権がない、認証が失敗した場合などに表示されます。
例えば、「ログインのIDやパスワードが間違っている」「トークンの有効期限が切れている」時などが該当します。
トークンの有効期限が切れている時のリクエストは、
GET /users/123
Authorization: Bearer invalid-token
などがあります。
まとめると、「認証情報がない(空白)、もしくは異なっている場合にクライアントが誰なのか分からず、サーバ側で認証できない時に表示されるステータスコードです。
♦︎403(Forbidden)
403(Forbidden)は、クライアントにリクエスト先のアクセスが禁止されている(認可がない)場合に表示されます。
401との違いは、403の場合「誰がアクセスしたのか分かっているが、そのクライアントにアクセス権限がない」ことを表しています。
例えば、一般ユーザが
GET /admin HTTP1.1
のように「管理者ページ」にアクセスすると、アクセス権限がないので403が表示されます。
♦︎404(Not Found)
404(Not Found)は、クライアントがアクセスしたページが存在しないときに表示されます。
例えば、「URLのスペルミス」「ページが既に削除されている」場合に表示されるよく出現するエラーコードです。
♦︎405(Method Not Allowed)
405(Method Not Allowed)は、クライアントが許可されていない「HTTPメソッド」を実行した場合に表示されます。
例えば、クライアントが
DELETE /users
を実行し、「DELETE メソッド」をサーバ側でクライアントに許可していない場合、このステータスコードを表示します。
♦︎408(Request Timeout)
408(Request Timeout)は、リクエストをクライアントがサーバに送るのに時間がかかりすぎた場合に表示されます。
♦︎409(Conflict)
409(Conflict)は、リソース競合が発生した際に表示されます。
例えば、ユーザ登録時に
POST /users
{"username": "Taro"}
と送信したが、そのユーザが既に存在している場合に表示されます。
♦︎413(Content Too Large)
413(Content too Large)は、クライアントからのリクエストサイズが大きすぎる時に表示されます。
例えば、「サーバが許容する最大サイズ以上のファイルをアップロードした時」が該当します。
♦︎415(Unsupported Media Type)
415(Unsupported Media Type)は、リクエストのデータ形式がサーバ側でサポートされていない(クライアントとサーバ側で一致していない)時に、サーバが処理を拒否した場合表示されます。
例えば、サーバ側は
Content-Type: application/json
をサポートしてるのにクライアント側が
Content-Type: text/plain
を送った時などです。
または、「クライアントのリクエストに Content-Type が含まれていないとき」にも415が表示されます。
♦︎429(Too Many Requests)
429(Too Many Requests)は、クライアントからのリクエストが多すぎ、サーバ側がそれを拒否した場合に表示されます。
例えば、クライアントが
クライアント
↓
API
↓
1秒間に1000回リクエスト
のように「短時間に大量のAPIリクエストを呼び出した時」です。
サーバ側で「クライアントの時間毎のAPIリクエスト数を制限(レート制限)している」場合に表示されます。
▪️まとめ
400番台のステータスコードは多くの種類がありますが、どれもクライアント側の問題を表します。

No responses yet