酒と泪とRubyとRailsと

Ruby on Rails と Objective-C は酒の肴です!

HTTPステータスコード 一覧 [Web基礎勉強]

HTTPステータスの意味ちゃんと理解できてなかったなとの反省で、俺得でHTTPステータスの簡単な一覧をつくりました!


チートシート

HTTPステータスコードを適切に選ぶためのフローチャート : 難しく考えるのをやめよう

こちらは、ステータスコードをどういうふうに考えればいいか、重要なコードはどれかといったことがまとめられた記事。 非常にわかり易い内容なので、よければ是非!

1xx Informational 情報

リクエストをサーバーが受け取って、処理が継続することを表す。

コード メッセージ 意味
100 Continue サーバーがリクエストの最初の部分を受け取りまだ拒否していないことを表す
101 Switching Protocols サーバーはリクエストを理解して、プロトコルの変更を要求
102 Processing 処理中を表す。WebDAVの拡張ステータスコード

2xx Success 成功

リクエストをサーバーが理解して、受理されたことを表す。

コード メッセージ 意味
200 OK リクエストが理解されて、要求に応じたレスポンスを返す
201 Created リクエストは完了して、新しく作られたリソースのURIを返す
202 Accepted リクエストは受理されたが、処理が完了していない場合に返す。PUTの処理中とか
203 Non-Authoritative Information オリジナルではなく、ローカルやキャッシュの結果を返すときのレスポンス
204 No Content リクエストは受理したが、返すレスポンスがない場合のコード
205 Reset Content リクエストを受理して、ユーザー側の画面をリセットする場合に返す。POST送信後にブラウザを初期状態に戻すなど
206 Partial Content 部分的Getリクエストを受理した時に返される。ダウンロードのレジュームなどて使われる

3xx Redirection リダイレクト

リクエストを完了させるために追加的な処理が必要なことを表す。

コード メッセージ 意味
300 Multiple Choices リクエストに対して複数のリソースが存在する場合に返す
301 Moved Permanently リクエストしたリソースが、恒久的に移動した場合に返す。Locationヘッダに移動先のURLがある
302 Found リクエストしたリソースが、一時的に移動した場合に返す。Location ヘッダに移動先のURLがある。元々はMoved Temporarily(一時的に移動した)
303 See Other リクエストしたリソースが他のURLにあるときに返す。Location ヘッダに移動先のURLがある。他のリソースをもってレスポンスとするような場合に使う
304 Not Modified リクエストしたリソースが更新されていないことを示す。例えば、If-Modified-Since:ヘッダを使用したリクエストを行い、そのヘッダに示された時間以降に更新がなかった場合に返される。
305 Use Proxy レスポンスのLocationヘッダにあるProxyを使う必要が有ることを示す
307 Temporarily Redirect リクエストしたリソースが一時的に移動した場合に返す。Locationヘッダに移動先のURLがある

4xx Redirection リダイレクト

クライアントからのリクエストに誤りがあったことを表す。 実際にはもっとたくさん4xx系はあるけどメジャーどころを抜粋。多様なエラーを表す。

コード メッセージ 意味
400 Bad Request クライアントのリクエストがおかしい場合に返される
401 Unauthorized 認証が必要な場合に返される。Basic認証やDigest認証などを行うときに返される
403 Forbidden リソースへのアクセスが拒否された。リクエストしたが処理ができない場合に返される
404 Not Found リソースが無かった場合に返される
405 Method Not Allowed 許可されていないメソッドを実行した場合に返される
406 Not Acceptable Accept関連ヘッダの中に受理できない内容が含まれる場合に返される

5xx Server Error サーバーエラー

サーバーサイドがリクエストの処理に失敗したことを表す。一部を抜粋。

コード メッセージ 意味
500 Internal Server Error サーバー内にエラーが発生した場合に返される
503 Service Unavailable サービスが一時的に過負荷やメンテナンスで利用できない場合に返される
504 Gateway Timeout URIから推測されるサーバーから適切なレスポンスがなくタイムアウトした

あとがき

ステータスコードをしっかり意識して、Webサービスを作っていきたい!


Special Thanks

HTTPステータスコード Wikipedia

おすすめの書籍