はじめに
タイトルについて記事にしました。
この記事で得る内容は以下の通りです。
・ ステータスコードの意味と活用方法について
■ Web API入門についての過去記事
・ Web API入門#1 〜APIとWeb API、Webの概要〜
・ Web API入門#2 〜REST、アーキテクチャについて〜
・ Web API入門#3 〜URIの基礎知識〜
・ Web API入門#4 〜クールなURIの設計方法について〜
・ Web API入門#5 〜HTTPの基礎〜
・ Web API入門#6 〜CRUDとHTTPメソッド〜
ステータスコード
HTTP通信には、リクエストとレスポンスが存在します。レスポンスを受け取った際に、どんな応答が返ってきているのか簡潔に分かりやすくしたものが3桁のステータスコードです。
ステータスコードの処理結果に応じて条件分岐をさせることができますし、仮に処理が失敗してもエラー処理を行う...といったプログラムを定義することができます。
ステータスコードの大分類
ステータスコードは、基本的に3桁で1xx,2xx...のように処理結果に応じて先頭の数字が変化します。
従って、先頭の数字でどのようなレスポンスが返ってきているのかを把握することができます。
ステータスコード | 意味 | 詳細 |
---|---|---|
1xx | 処理中 | 処理が継続中 クライアントがそのままリクエストを継続か再送信するか判定 |
2xx | 成功 | リクエストの成功 |
3xx | リダイレクト | 他のリソースへのリダイレクト Locationヘッダーを見て新しいリソースへ接続 |
4xx | クライアントエラー | クライアントのリクエストが原因でエラーが発生 |
5xx | サーバーエラー | サーバー側で何らかのエラーが発生 |
例えば、444のような不吉(?)で未知のステータスコードが表示されていても、先頭のコードを見れば
クライアント側で起きているエラーと大枠で判別することができます。
よく見かけるステータスコード(OK)
よく見かけるステータスコードの成功した際に表示される場合について表にしました。
ステータスコード | テキストフレーズ | 意味・特徴 |
---|---|---|
200 | OK | GET:取得したリソースがメッセージ本文で送信される HEAD:ヘッダー情報がメッセージ本文で送信される PUT or POST:操作の結果がメッセージ本文で送信される |
201 | Created | 新たなリソースが作成された PUTまたはPOSTのレスポンス |
204 | No Content | リソースのレスポンスとして送信するコンテンツはないが リクエストは成功 |
301 | Moved Permantly | リソースの恒久的な移動 |
301については、過去記事のWeb API入門#4 〜クールなURIの設計方法について〜でご紹介しました
301リダイレクトの際に表示されるもので、リソースが古いURIから新しいURIに移動されたので、そちらに移動して下さいという意味です。
よく見かけるステータスコード(エラー)
よく見かけるステータスコードのエラー時に表示される場合について表にしました。
ステータスコード | テキストフレーズ | 意味・特徴 |
---|---|---|
400 | Bad Request | リクエストの構文やパラメータが間違っている |
403 | Forbidden | コンテンツへのアクセス権がない(認証されていない) |
404 | Not Found | リソースが存在しない・URIを解釈できなかったなど |
500 | Internal Server Error | サーバー側で処理できないエラーが発生した |
502 | Bad Gateway | ゲートウェイとなるサーバーが正常に動作しなかった |
503 | Service Unavailable | サーバーがメンテナンスや過負荷などでダウンしている |
403は、ログインの認証が必要なページに直接アクセスしたり、認証をしないと取得できないリソースにGETメソッドを実行したりすると返ってきます。
他にもステータスコードはたくさんありますので、興味がある方はHTTP レスポンスステータスコードというサイトを覗いて見て下さい。