📝
HTTPステータスコードに付いてのメモ
Go言語などを使ってWebAPIなどを作成していると必ず扱うことになるステータスコードについて調べたのでよく使いそうなものをメモ
100番台
サーバーとの通信に関する情報を表す。プログラム中で指定することは少なそう。
200番台
正常系のレスポンス。おそらくプログラム中で指定することが一番多い。
ステータスコード | 説明 |
---|---|
200 | 正常にリクエストを処理 |
202 | リクエストは承認されたが処理が終了していない場合 |
300番台
リダイレクト系のレスポンス
ステータスコード | 説明 |
---|---|
301 | 要求したリソースが恒久的に移動されている場合に返される。 |
302 | 要求したリソースが一時的に移動されている場合に返される。 |
400番台
エラー系。量が多いからよく使いそうなものをメモ
ステータスコード | 説明 | ケース |
---|---|---|
400 | 不正なリクエスト | GET時に必要なパラメータが指定されていない場合など(API系だと一番使う) |
401 | 認証が必要 | 未認証で認証が必要なページにアクセスした場合 |
404 | リクエスト先が見つからない | 存在しないURLにアクセスした場合 |
408 | タイムアウト | サーバーでの処理に時間がかかりすぎた場合など |
500番台
サーバー内部でのエラー。
ステータスコード | 説明 |
---|---|
500 | Webサーバーの内部エラー |
501 | 実装されていないメソッド |
504 | ゲートウェイがタイムアウト |
使用頻度の高いステータスコード
- 200
- APIの呼び出しが正常に終了したとき
- 400
- APIに必要なパラメータが指定されていない場合などに返す。
- エラーレスポンスと一緒に返すこともある
- 404
- 存在しないURLにアクセスされた場合に返す。
- フレームワークやライブラリ側で設定されていることもある。
こう見てみると定義されているものは多いですが、実際にサーバー側で利用するのはそこまで多くない印象。
個人的にはAPIで200・400・404以外で返すステータスコードは無い気がする
参考
https://qiita.com/takuo_maeda/items/9cff0b03e74f8f600eee
https://medium-company.com/http%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89/
Discussion