よく見る 404 NOT FOUND などのステータスコードについて

代表的なステータスコードについて簡単にまとめていきます。

 

1xx 系 – 処理中

2xx 系 – 成功

200 OK リクエスト成功

GETの場合はボディにリソースの表現が入る。

POSTやPUTの場合はボディに処理結果が入る。

 

201 Created リソースの作成成功

リソースを新たに作成したと言うこと。(PUTとPOSTのレスポンスとして返る)

 

POSTの場合は新しく作成したリソースのURIがレスポンスのLocationヘッダに絶対URLとして入る。

(PUTの場合はLocationヘッダは入らない。)

 

3xx 系 – リダイレクト

301 Moved Permanently-リソースの恒久的な移動

古いURIのまま新しいURIに以降するときに301が用いられる。

 

新しいURIはレスポンスのLocationヘッダに絶対URIとして入る。

 

この301や次の303などのように別のURIにクライアントが自動的に再接続する処理を「リダイレクト」と言う。

 

303 See Other – 別URIの参照

(リクエストに対する処理結果が)別のURIで取得できること。

 

よくある場合としては、ブラウザからPOSTでリソースを操作した結果をGETで取得するとき。

 

4xx 系 – クライアントエラー

400 Bad Request -リクエストの間違い

リクエストの構文やパラメータが間違っているとき。

 

他に最適なクライアントエラーが見つからない場合も400が出る。

 

さらに処理もクライアントにとって未知の4xx系ステータスコードなら、同じ扱いで処理される。

 

401 Unauthorized – アクセス権不正

適切な認証情報を与えずにリクエストを行ったことを示す。

 

404 Not Found – リソースの不在

指定したリソースが見つからない場合。

 

5xx 系 – サーバーエラー

500 Internal Server Error – サーバ内部エラー

サーバー側に何らかの異常が生じていて正しいレスポンスが返せない場合。

 

他に適切なサーバーエラーを示すステータスコードがない場合も。

 

さらに処理もクライアントにとって未知の5xx系ステータスコードなら、同じ扱いで処理される。

 

503 Service Unavailable – サービス停止

サーバーメンテナンスなどで一時的にアクセスできない場合。

 

あとがき

今回はよく見るステータスコードのみを簡単に紹介しました。

 

2xx 系はなに、4xx系はなにと傾向をざっくりと覚えておくだけでも後々効いてくると思って書いてみました。

 

  • 1xx – 処理中
  • 2xx – 成功
  • 3xx – リダイレクト
  • 4xx – クライアントエラー
  • 5xx – サーバーエラー

 

このように一覧にすると覚えやすそうです。