📝

HTTPステータスコードに付いてのメモ

2023/07/14に公開

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