0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ステータスコードまとめ

Last updated at Posted at 2024-12-22

はじめに

12月17日に行われた小テストの結果があまり良くなかったので復習も兼ねて理解が不足していた部分をまとめて残そうと思います。(特にステータスコードがボロボロだった…)

ステータスコードとは

正式にはHTTPステータスコードと言うらしい。
「HTTPにおいてWebサーバーからのレスポンスの意味を表現する3桁の数字からなるコード」のこと。(Wikipediaより)
HTTPのレスポンスの先頭行につけられている。

ステータスコードの分類

ステータスコードの分類は以下の通り

100番台 情報レスポンス
一般的にはほとんど見かけない。
 
200番台 成功
クライアントからリクエストした処理が成功したことを表している。
 
300番台 リダイレクト
リダイレクトが発生した時に表示される。
リダイレクト…Webサイトやホームページに訪れたユーザーを別のURLに自動で転送する設定のこと。例えば、Webサイトを新しくして新しいURLになった時、リダイレクトをしないと古いURLに飛ばされてしまう。
 
400番台 クライアント側のエラー
クライアント側から送られてきたリクエストが理解できなかったり、理解できたけど実行は許可されていない時に表示される。
 
500番台 サーバー側に問題がある
 サーバー側で何かしらのエラーが発生した時に表示される。 

主に見かけるステータスコード

※100番台は上記の通り一般的には見ることが少ないため割愛。

ステータスコード 名前 解説
200番台
200 OK リクエストは成功したという意味。すごくよく見る。
201 Created リクエストした結果、サーバー側でデータ作成が行われたと言う意味。リクエストメソッドとしてはPOST(データの更新、登録)が使われた。
202 Accepted リクエストは受け付けたけど、まだ完了していないよという意味。処理は非同期で行われている。
204 No Content レスポンスが空の時に返す。利用例として、DELETEメソッドを使ってデータを削除した時に返すのがある。また、PATCHやPUTでデータの更新をした時も204を返すのがいいのではないかという意見もある。
300番台
301 Moved Permanently リソースは恒久的に移動したことを表す。新しいURLにアクセスし直す必要がある。
302 Found リソースが一時的に移動していることを表す。
303 See Other クライアントからのリクエストに対するレスポンスが、別のURLで利用可能であることを表す。POSTリクエストの後にGETリクエストを用いて新しいページを取得させるために使用される。
304 Not Modified 要求されたコンテンツは前回から更新されていないことを表す。クライアント側がきちんとそれまでのデータのキャッシュを行い、キャッシュの情報を返してくれた時にだけ返ってくる。
400番台
400 Bad Request 400番台のエラーでは表すことができないエラーのこと。
401 Authentication 認証のエラー。「誰だお前…」という感じの意味。
403 Authorization 認可のエラー。「お前のことはわかったけど、その操作の権限はないわ」と言う感じの意味。
404 Not Found データは存在していないという意味を表す。存在しないエンドポイントにアクセスしようとしたり、存在しないユーザーの情報を取得しようとしたりすると返ってくる。
405 Method Not Allowed エンドポイントは存在しているが、メソッドが許可されていないことを表す。GETでしかアクセスできないところにPOSTでアクセスしようとした時に返ってくる。
406 Not Acceptable クライアントが指定してきたデータ形式にAPIが対応していない場合を表す。
408 Request Timeout リクエストをクライアントがサーバに送るのに時間がかかり過ぎてサーバ側でタイムアウトを起こしたことを表す。
409 Conflict リソース競合が起きたことを表す。すでに同じIDが存在した時などに返ってくる。
410 Gone かつては存在したけれど今は存在していない時に返ってくる。このステータスコードを返すにはデータを削除したという情報を保持する必要がある。
413 Request Entity Too Large リクエストボディが大きすぎることを表す。
414 Request-URL Too Long リクエストしたURLが長すぎることを表す。
415 Unsupported Media Type リクエストボディのデータ形式をサーバが対応していないことを表す。
429 Too Many Requests アクセス回数が許容範囲の限界を超えたことを表す。アクセス回数の制限のことはレートリミットという。
500番台
500 Internal Sever Error サーバ側のコードにバグがあることを表す。
503 Sever Unavailable サーバが一時的に利用できない状態になっていることを表す。メンテナンスのためにサービスを止めている時に返ってくる。

まとめ

主に使用されると言われてもだいぶ量が多い…
404とかはよく見かけますがそれ以外はほぼ初めて見るものばかりでした。完璧に覚える必要はないと思いますが、記憶を探り出すきっかけとして知識をつけておくことは重要だと感じました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?