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プロキシ | レスポンスのLocationヘッダにあるプロキシを使う必要があることを示す |
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 Accepテーブル | Accept関連ヘッダの中に受理できない内容が含まれる場合に返される |
🚌 5xx Server Errorサーバエラー
サーバサイドがリクエストの処理に失敗したことを表す。一部を抜粋。
コード | メッセージ | 意味 |
---|---|---|
500 | Internal Server Error | サーバ内にエラーが発生した場合に返される |
503 | Service Unavailable | サービスが一時的に過負荷やメンテナーンスで利用できない場合に返される |
504 | Gateway Timeout | URIから推測されるサーバから適切なレスポンスがなくタイムアウトした |
🗻 あとがき
ステータスコードをしっかり意識して、Webサービスを作っていきたい!