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プロキシ レスポンスの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サービスを作っていきたい!

🍣 参考リンク

HTTPステータスコード Wikipedia

📚 おすすめの書籍