久保清隆のブログ

ライフハック、健康、旅行など、役立つ情報を書きます。

HTTPステータスコード:このエラーコードはどういう意味?

HTTPステータスコードの意味を理解することは、トラブルシューティングの際の原因特定に役立つ。

HTTPステータスコードとは

HTTPプロトコル(インターネット上で、Webサーバーとユーザーが相互に通信するための仕組み)では、コンピュータ同士が通信している間に、コードを用いてお互いの状態(ステータス)をやり取りしている。
このコードのことをHTTPステータスコード(HTTP Status Code)と呼ぶ。
通信のエラーが発生した場合に「404 Not Found」のようにブラウザ上に表示される。
エラーが発生しなかった場合にも見えないところでステータスのやり取りは行われている。

HTTPステータスコードの分類と概要

以下に大まかな分類とその概要、よく見るステータスコードとその意味をまとめてみた。
分類と概要を知っておくと、HTTPステータスコードの意味を理解しやすく覚えやすい。

100番台のHTTPステータスコード

HTTPステータスコードの100〜199番は、リクエストを受け取って処理していることを知らせる通知コード。
これらのコードはブラウザに通知される内部的コードだし、最初のHTTP規格では、100番台のコードは認められていなかったので、通常は目にすることはない。

200番台のHTTPステータスコード

200〜299番のステータスコードは、リクエストした動作を正しく理解し承認された、という成功を示すコード。
これらのコードも、通常見ることはない。これらは、リクエストの成功と現在の状態を確認するためにブラウザで内部的に使用されている。200番台のコードも診断プロセスで貴重な情報を与えてくれることがあり、これらのコードを読み出せる診断ツールもある。

300番台のHTTPステータスコード

300〜399番のステータスコードは、リクエストを完了するには更に処理(操作)が必要であることをブラウザに示す、リダイレクトコード。
この処理は自動的に実行されるものもあれば、ユーザーによる追加入力を要求するものもある。例えば、301は、特定のリソースが恒久的に移動し、以後そのリソースに対する全ての呼び出しは特定のURLを参照しなければならないことを示す。

400番台のHTTPステータスコード

400番台は、リクエストの構文に誤りがあるか不正な形式のため、サーバがリクエストを受け取れない、というクライアント側のエラーを示すコード。
これらのエラーコードは、セキュリティに関連している場合が多い。例えば、401は、クライアントがアクセスを許可されていないリソースへアクセスした際にサーバから返される。403は、クライアントが未許可のリソースへのアクセスを試み、クライアントの認証ステータスによっても状況が変化しない場合にサーバから返される。これは、そのリソースへのアクセスが禁じられていることを示す。
404は、技術的にはクライアント側のエラーとして分類されているが、実際にはクライアント側またはサーバ側のいずれかのエラーを表す。このエラーは、リクエストされたリソースが見つからなかったことを示している。このエラーがクライアント側で起きた場合、ネットワーク接続の問題が原因か、リソースがサーバから削除されるか、リソースの名前が変更されたために、発生するケースが多い。

500番台のHTTPステータスコード

500番台のステータスコードは、「サーバはリクエストを受け取ったが、処理できない。他のサーバで処理できる可能性がある。」というサーバのエラーを示すコード。
例えば、504エラーは、Webサーバでタイムアウトが発生すると返される。ただし500番台のエラーは、サーバの問題ではなく、サーバ上で動作しているWebアプリケーションの問題を示していることも多い。
例えば、500は、コードのバグのせいでWebサーバから返されることもある。これは、サーバの内部エラーを示す一般的なコード。このコードは、何らかの問題が発生し、HTTPがそれをどう処理していいか分からないことを示している。

よくみるHTTPステータスコード一覧

HTTPステータスコード 名称 意味
200 OK リクエスト成功
301 Moved Permanently 指定されたURIは恒久的に移動している
302 Found 指定されたリソースは別のURIに存在する
307 Temporary Redirect 指定されたURIは一時的に移動している
401 Unauthorized 指定したURIのアクセスには認証が必要
403 Forbidden 指定されたURIのアクセスは許可されていない
404 Not Found 指定されたURIは存在していない
500 Internal Server Error サーバの内部エラー
503 Service Unavailable サービスが利用不可(アクセス過多の場合など)

これ以外のステータスコードは、以下を参照。
HTTPステータスコード一覧|トピックアップ



お読み頂きありがとうございます。
少しでもお役に立てたらクリックお願いします↓。
ブログランキング・にほんブログ村へにほんブログ村 IT技術ブログへにほんブログ村 IT技術ブログ プログラム・プログラマへにほんブログ村 サラリーマン日記ブログ 戦うサラリーマンへ