はじめに
APIなどを叩いてると「200 OK」だの「404 Not found」だのってよく目にしますよね。
あれってなんぞや?って思う方もいると思うので簡単にまとめてみました。
ステータスコードってなんぞや?
ステータスコードとは
処理結果の概要を把握するもの。
番号によって何に起因するエラーなのか?ということを分類できるよってやつ
ステータスコードの分類
ステータスコード |
意味 |
100番台 |
情報 |
200番台 |
成功 |
300番台 |
リダイレクト |
400番台 |
クライアントサイドに起因するエラー |
500番台 |
サーバーサイドに起因するエラー |
主要なステータスコードの意味
1xx:情報
種類 |
説明 |
100 Continue |
サーバーがリクエストの最初の部分を受け取り、またサーバーから拒否されていないことを示す |
101 Switching Protocol |
プロトコルの切り替え要求を示す |
2xx:成功
種類 |
説明 |
200 OK |
リクエストが成功したことを示す。本文にデータが含まれる |
201 Created |
リクエストが成功し、新しいリソースが作成されたことを示す。ヘッダーのLocationに新しいリソースへのURLを含める。 |
202 Accepted |
非同期ジョブを受け付けたことを示す。実際の処理結果は別途受け取る |
204 No Content |
リクエストは成功したが、レスポンスデータがないことを示す。クライアント側のビューを変更することがないことを意味する |
3xx:リダイレクト
種類 |
説明 |
301 Moved Permanently |
リクエストされたリソースが永久に変更されたことを示す。レスポンスヘッダーにLocationを設定する |
302 Found |
リクエストされたリソースが一時的に変更されたことを示す。レスポンスヘッダーにLocationを設定する |
303 See Other |
リクエストされたリソースを取得するために、別のURLにGETリクエストでアクセスすることを示す |
304 Not Modified |
前回リクエスト時から変更がないことを示す。レスポンスボディは空になる |
307 Temporary Redirect |
リクエストされたリソースが一時的に変更されたことを示す。リダイレクト時はリクエストと同じメソッドを利用する |
308 Permanent Redirect |
リクエストされたリソースが永久に変更されたことを示す。リダイレクト時はリクエストと同じメソッドを利用する |
4xx:クライアントサイドエラー
種類 |
説明 |
400 Bad Request |
その他のエラー |
401 Unauthorized |
認証されていないことを示す |
403 Forbidden |
リソースに対するアクセスが許可されていない(認可されていない)ことを示す |
404 Not Found |
リクエストされたリソースが存在しないことを示す |
409 Conflict |
リソースが競合して処理が完了できなかったことを示す |
429 Too Many Requests |
アクセス制限が制限回数を超えたため処理できなかったことを示す |
5xx:サーバーサイドエラー
種類 |
説明 |
500 Internal Server Error |
サーバーサイドのアプリケーションエラーが発生したことを示す |
503 Service Unavailable |
サービスが一時的に利用できないことを示す。メンテナンス期間や過負荷で応答できないようなケース |
まとめ
なんとなくは理解していたけど、細かく復習する良い機会だった。
備忘録としてまとめときます。
参考文献