Webサーバーと通信するクライアントアプリのエラー処理で必ず必要になるのがHTTPのステータスコードです。
色々なコードが定義されていますが、これだけ知っていれば、とりあえずは大丈夫だと思われるものをまとめました。
通信成功
通信が成功したときは200番台です。私が書くアプリで多いのは次のようなところです。
- 201 : OK
それ以外のはたまたま仕様的に使っていないです。
クライアントエラー
こちら側が悪いときのエラーは400番台です。使うことが多いのは次のようなコードです。
- 400 : Bad Request
- 401 : Unauthorized (認証失敗)
- 403 : Forbidden (許可されていない)
- 404 : Not Found (ファイルが見つからない)
- 405 : Method Not Allowed (許可されていないHTTPメソッド)
401や403以外は運用段階になったら少ないと思います。
404はURLが間違っているか、削除されてしまったときです。固定のAPIを使って通信するようなケースでは遭遇しないと思います。ユーザーが指定したURLやユーザーが作成・削除出来るなど、接続先が消えることが予期されるアプリでは運用段階でも遭遇しますね。
405はサーバーとの通信仕様の問題です。そもそも開発中に見つからなければいけない問題です。
サーバー側のエラー
サーバー側が悪いときは500番台です。こちらはメンテナンスで動いていないときなどに遭遇します。サービスが終了してしまった場合もですね。
ステータスコードはどこで定義されている
HTTPで定義されています。詳しい定義はRFC-7231のResponse Status Codeというところに書かれています。
RFC 7231 – Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content | 6. Response Status Codes