2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

よく使われるステータスコード9選をまとめてみた

Last updated at Posted at 2023-09-27

ステータスコードをまとめてみた

ステータスコードの分類と意味

ステータスコードは3桁の数字で、先頭の数字によって5つに分類できる

分類と意味

分類 意味
1xx 処理中 クライアントはそのままリクエストを継続するか、サーバの指示に従ってプロトコルをアップデートして再送信する。
2xx 成功 リクエストが成功したことを示す。
3xx リダイレクト クライアントはこのステータスコードを受け取った時、レスポンスメッセージのLocationヘッダを見て新しいリソースへ接続する。
4xx クライアントエラー 原因はクライアントのリクエストにあり、エラーを解消しない限り正常な結果は得られないので、同じリクエストをそのまま再送信できない。
5xx サーバエラー 原因はサーバ側にあり、同一のリクエストを再送信して正常な結果が得られる可能性がある。

先頭の文字で分類する理由

クライアントとサーバの約束事を最小限に抑えて、クライアントとサーバの結びつきをなるべく緩やかにする、すなわち疎結合にするための工夫。

一般的にシステムが疎結合になることで、以下のようなメリットがある。
・コンポーネント間の独立性が高まる
・コンポーネントの置き換えや拡張が容易になる

またクライアントにとって未知のステータスコードが来ても、先頭の文字の約束事が守られていれば、クライアントは最低限の処理ができる。

よく使われるステータスコード9選

200 OK

リクエストが成功したことを示す。

201 Created

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

301 Moved Permanently

リクエストで指定したリソースが新しいURIに移動したことを示す。新しいURIはレスポンスのLocationヘッダに絶対URIとして入る。
(別のURIにクライアントが自動的に再接続する処理を「リダイレクト」と呼ぶ。)

303 See Other

リクエストに対する処理結果が別のURIで取得できることを示す。典型的にはブラウザからPOSTでリソースを操作した結果をGETで取得するときに使う。

400 Bad Request

リクエストの構文やパラメータに間違いがあることを示す。

401 Unauthorized

適切な認証情報を与えずにリクエストを行ったことを示す。レスポンスのWWW-Authenticateヘッダで、クライアントに対して認証方式を伝える。

404 Not Found

指定したリソースが見つからないことを示す。レスポンスボディにその理由が入る。

500 Internal Sever Error

サーバ側に何らかの異常が生じていて、正しいレスポンスが返せないことを示す。レスポンスボディにその異常の理由が入る。500は他に適切なサーバエラーを示すステータスコードがない場合にも用いる。

503 Service Unavailable

サーバがメンテナンスなどで一時的にアクセス出来ないことを示す。レスポンスのRetry-Afterヘッダでサービス再開時期がおよそ何秒後であるかを通知することもできる。

まとめ

意味
200 リクエストが成功したことを示す。
201 リソースの作成成功を示す。POSTの場合、新しく作成したリソースのURIがレスポンスのLocationヘッダに絶対URIとして入る。
301 リクエストで指定したリソースが新しいURIに移動したことを示す。新しいURIはレスポンスのLocationヘッダに絶対URIとして入る。
303 リクエストに対する処理結果が別のURIで取得できることを示す。
400 リクエストの構文やパラメータに間違いがあることを示す。
401 適切な認証情報を与えずにリクエストを行ったことを示す。レスポンスのWWW-Authenticateヘッダで、クライアントに対して認証方式を伝える。
404 指定したリソースが見つからないことを示す。レスポンスボディにその理由が入る。
500 サーバ側に何らかの異常が生じていて、正しいレスポンスが返せないことを示す。レスポンスボディにその異常の理由が入る。500は他に適切なサーバエラーを示すステータスコードがない場合にも用いる。
503 サーバがメンテナンスなどで一時的にアクセス出来ないことを示す。レスポンスのRetry-Afterヘッダでサービス再開時期がおよそ何秒後であるかを通知することもできる。

参考文献

技術評論者「Webを支える技術」

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?