HTTPにはステータスコード (エラーコード) という、レスポンスの意味をあらわす3桁の数字があります。
200, 400, 403, 404, 302, 500, 502, 503, 504などがよく見るコードです
HTTPステータスコードについて、早見表を一覧にして、意味をわかりやすくまとめました。
目次
- HTTPとは何か?初心者にもわかりやすく
- 1xx Informational 情報
- 2xx Success 成功
- 3xx Redirection リダイレクション
- 4xx Client Error クライアントエラー
- 400 Bad Request 不正なリクエスト
- 401 Unauthorized 認証が必要
- 402 Payment Required 支払いが必要
- 403 Forbidden 禁止されている
- 404 Not Found 未検出
- 405 Method Not Allowed 許可されていないメソッド
- 406 Not Acceptable 受理できない
- 407 Proxy Authentication Required プロキシ認証が必要
- 408 Request Timeout リクエストタイムアウト
- 409 Conflict 競合
- 410 Gone 消滅した
- 411 Length Required 長さが必要
- 412 Precondition Failed 前提条件が失敗
- 413 Payload Too Large ペイロードが大きすぎ
- 414 URI Too Long URIが大きすぎ
- 415 Unsupported Media Type サポートしていないメディアタイプ
- 416 Range Not Satisfiable レンジが範囲外
- 417 Expectation Failed Expectヘッダによる拡張が失敗
- 418 I'm a teapot 私はティーポット
- 421 Misdirected Request 誤ったリクエスト
- 422 Unprocessable Entity 処理できないエンティティ
- 423 Locked ロックされている
- 424 Failed Dependency 依存関係で失敗
- 425 Too Early 早過ぎ
- 426 Upgrade Required アップグレード要求
- 451 Unavailable For Legal Reasons 法的理由により利用不可
- 5xx Server Error サーバエラー
- 500 Internal Server Error サーバー内部エラー
- 501 Not Implemented 実装されていない
- 502 Bad Gateway 不正なゲートウェイ
- 503 Service Unavailable サービス利用不可
- 504 Gateway Timeout ゲートウェイタイムアウト
- 505 HTTP Version Not Supported サポートしていないHTTPバージョン
- 506 Variant Also Negotiates
- 507 Insufficient Storage 容量不足
- 508 Loop Detected ループを検出
- 509 Bandwidth Limit Exceeded 帯域幅制限超過
- 510 Not Extended 拡張できない
- 511 Network Authentication Required ネットワークに対する認証が必要
- 早わかりステータスコードチェッカー
HTTPとは何か?初心者にもわかりやすく
HTTPとは、Hypertext Transfer Protocol (ハイパーテキスト・トランスファー・プロトコル) の略です。
HTMLなどのコンテンツの送受信に用いられる通信プロトコルです。
主としてWorld Wide Webにおいて、WebブラウザとWebサーバとの間での転送に用いられます。
HTTPのステータスコードは、Webブラウザに対してWebサーバーが返却するレスポンスコードです。
100番台、200番台、300番台、400番台、500番台とあり、それぞれが意味を持っています。
1xx Informational 情報
100番台の意味は「リクエストは受け取られた。」です。
処理は継続されます。
100 Continue 継続
継続。
クライアントはリクエストを継続できる。
サーバがリクエストの最初の部分を受け取り、まだ拒否していないことを示す。
例として、クライアントがExpect: 100-continueヘッダをつけたリクエストを行い、それをサーバが受理した場合に返される。
101 Switching Protocols プロトコル切替え
プロトコル切替え。
サーバはリクエストを理解し、遂行のためにプロトコルの切替えを要求している。
102 Processing 処理中
処理中。
WebDAVの拡張ステータスコード。
処理が継続されて行われていることを示す。
103 Early Hints 早期のヒント
早期のヒント。
最終的なレスポンスヘッダが確定する前に、予想されるヘッダを伝達する。
Linkレスポンスヘッダと組み合わせて、関連するリソースの先読み・プッシュ配信に利用することが想定されている。
2xx Success 成功
200番台の意味は「リクエストは受け取られ、理解され、受理された。」です。
200 OK 成功
OK。
リクエストは成功し、レスポンスとともに要求に応じた情報が返される。
ブラウザでページが正しく表示された場合は、ほとんどがこのステータスコードを返している。
201 Created 作成された
作成。
リクエストは完了し、新たに作成されたリソースのURIが返される。
例: PUTメソッドでリソースを作成するリクエストを行ったとき、そのリクエストが完了した場合に返される。
202 Accepted 受理された
受理。
リクエストは受理されたが、処理は完了していない。
例: PUTメソッドでリソースを作成するリクエストを行ったとき、サーバがリクエストを受理したものの、リソースの作成が完了していない場合に返される。
バッチ処理向け。
203 Non-Authoritative Information 信頼できない情報
信頼できない情報。
オリジナルのデータではなく、ローカルやプロキシ等からの情報であることを示す。
204 No Content 内容なし
内容なし。
リクエストを受理したが、返すべきレスポンスエンティティが存在しない場合に返される。
例: POSTメソッドでフォームの内容を送信したが、ブラウザの画面を更新しない場合に返される。
205 Reset Content 内容のリセット
内容のリセット。
リクエストを受理し、ユーザエージェントの画面をリセットする場合に返される。
例: POSTメソッドでフォームの内容を送信した後、ブラウザの画面を初期状態に戻す場合に返される。
206 Partial Content 部分的内容
部分的内容。
部分的GETリクエストを受理したときに、返される。
例: ダウンロードツール等で分割ダウンロードを行った場合や、レジュームを行った場合に返される。
207 Multi-Status 複数のステータス
複数のステータス。
WebDAVの拡張ステータスコード。
208 Already Reported 既に報告
既に報告。
WebDAVの拡張ステータスコード。
226 IM Used IMを使用
IM使用。
Delta encoding in HTTPの拡張ステータスコード。
3xx Redirection リダイレクション
300番台は「リクエストを完了させるために、追加的な処理が必要。」です。
300 Multiple Choices 複数の選択
複数の選択。
リクエストしたリソースが複数存在し、ユーザやユーザーエージェントに選択肢を提示するときに返される。
具体例として、W3Cのhttp://www.w3.org/TR/xhtml11/DTD/xhtml11.html
301 Moved Permanently 恒久的に移動した
恒久的に移動した。
リクエストしたリソースが恒久的に移動されているときに返される。
Location:ヘッダに移動先のURLが示されている。
例としては、ファイルではなくディレクトリに対応するURLの末尾に/を書かずにアクセスした場合に返される。
具体例として、http://www.w3.org/TR
302 Found 発見した
発見した。
リクエストしたリソースが一時的に移動されているときに返される。
Location:ヘッダに移動先のURLが示されている。
元々はMoved Temporarily(一時的に移動した)で、本来はリクエストしたリソースが一時的にそのURLに存在せず、別のURLにある場合に使用するステータスコードであった。
しかし、例えば掲示板やWikiなどで投稿後にブラウザを他のURLに転送したいときにもこのコードが使用されるようになったため、302はFoundになり、新たに303・307が作成された。
303 See Other 他を参照せよ
他を参照せよ。
リクエストに対するレスポンスが他のURLに存在するときに返される。
Location:ヘッダに移動先のURLが示されている。
リクエストしたリソースは確かにそのURLにあるが、他のリソースをもってレスポンスとするような場合に使用する。
302の説明で挙げたような、掲示板やWikiなどで投稿後にブラウザを他のURLに転送したいときに使われるべきコードとして導入された。
304 Not Modified 未更新
未更新。
リクエストしたリソースは更新されていないことを示す。
例として、 If-Modified-Since:ヘッダを使用したリクエストを行い、そのヘッダに示された時間以降に更新がなかった場合に返される。
305 Use Proxy プロキシを使用せよ
プロキシを使用せよ。
レスポンスのLocation:ヘッダに示されるプロキシを使用してリクエストを行わなければならないことを示す。
306 (Unused) 予約のため未使用
将来のために予約されている。
ステータスコードは前のバージョンの仕様書では使われていたが、もはや使われておらず、将来のために予約されているとされる。
検討段階では、「Switch Proxy」というステータスコードが提案されていた。
307 Temporary Redirect 一時的リダイレクト
一時的リダイレクト。
リクエストしたリソースは一時的に移動されているときに返される。
Location:ヘッダに移動先のURLが示されている。
302の規格外な使用法が横行したため、302の本来の使用法を改めて定義したもの。
308 Permanent Redirect 恒久的リダイレクト
恒久的リダイレクト。
4xx Client Error クライアントエラー
400番台の意味は「クライアントからのリクエストに誤りがあった。」です。
400 Bad Request 不正なリクエスト
リクエストが不正である。
定義されていないメソッドを使うなど、クライアントのリクエストがおかしい場合に返される。
更に詳しくは以下にまとめました。
・https://urashita.com/archives/20446
認証が必要である。
Basic認証やDigest認証などを行うときに使用される。
たいていのブラウザはこのステータスを受け取ると、認証ダイアログを表示する。
更に詳しくは以下にまとめました。
・https://urashita.com/archives/26018
402 Payment Required 支払いが必要
支払いが必要である。
現在は実装されておらず、将来のために予約されているとされる。
403 Forbidden 禁止されている
禁止されている。
リソースにアクセスすることを拒否された。
リクエストはしたが処理できないという意味。
アクセス権がない場合や、ホストがアクセス禁止処分を受けた場合などに返される。
例: 社内(イントラネット)からのみアクセスできるページに社外からアクセスしようとした。
更に詳しくは以下にまとめました。
・https://urashita.com/archives/24860
404 Not Found 未検出
未検出。
リソースが見つからなかった。
単に、アクセス権がない場合などにも使用される。
更に詳しくは以下にまとめました。
・https://urashita.com/archives/21475
405 Method Not Allowed 許可されていないメソッド
許可されていないメソッド。
許可されていないメソッドを使用しようとした。
例: POSTメソッドの使用が許されていない場所で、POSTメソッドを使用した場合に返される。
406 Not Acceptable 受理できない
受理できない。
Accept関連のヘッダに受理できない内容が含まれている場合に返される。
例: サーバは英語か日本語しか受け付けられないが、リクエストのAccept-Language:ヘッダにzh(中国語)しか含まれていなかった。
例: サーバはapplication/pdfを送信したかったが、リクエストのAccept:ヘッダにapplication/pdfが含まれていなかった。
例: サーバはUTF-8の文章を送信したかったが、リクエストのAccept-Charset:ヘッダには、UTF-8が含まれていなかった。
407 Proxy Authentication Required プロキシ認証が必要
プロキシ認証が必要である。
プロキシの認証が必要な場合に返される。
408 Request Timeout リクエストタイムアウト
リクエストタイムアウト。
リクエストが時間以内に完了していない場合に返される。
409 Conflict 競合
競合。
要求は現在のリソースと競合するので完了出来ない。
410 Gone 消滅した
消滅した。
リソースは恒久的に移動・消滅した。
どこに行ったかもわからない。
404 Not Foundと似ているが、こちらは二度と復活しない場合に使われる。
ただし、このコードは特別に設定しないと提示できないため、リソースが消滅しても404コードを出すサイトが多い。
411 Length Required 長さが必要
長さが必要。
Content-Length ヘッダがないのでサーバがアクセスを拒否した場合に返される。
412 Precondition Failed 前提条件が失敗
前提条件で失敗した。
前提条件が偽だった場合に返される。
例: リクエストのIf-Unmodified-Since:ヘッダに書いた時刻より後に更新があった場合に返される。
413 Payload Too Large ペイロードが大きすぎ
ペイロードが大きすぎる。
リクエストエンティティがサーバの許容範囲を超えている場合に返す。
例: アップローダの上限を超えたデータを送信しようとした。
RFC 2616以前では、Request Entity Too Large(リクエストエンティティが大きすぎる)と定められていた。
414 URI Too Long URIが大きすぎ
URIが大きすぎる。
URIが長過ぎるのでサーバが処理を拒否した場合に返す。
例: 画像データのような大きなデータをGETメソッドで送ろうとし、URIが何10kBにもなった場合に返す(上限はサーバに依存する)。
RFC 2616以前では、Request-URI Too Long(リクエストURIが大きすぎる)と定められていた。
415 Unsupported Media Type サポートしていないメディアタイプ
サポートしていないメディアタイプ。
指定されたメディアタイプがサーバでサポートされていない場合に返す。
416 Range Not Satisfiable レンジが範囲外
レンジは範囲外にある。
実リソースのサイズを超えるデータを要求した。
たとえば、リソースのサイズが1024Byteしかないのに、1025Byteを取得しようとした場合などに返す。
RFC 2616以前では、Requested Range Not Satisfiable(リクエストしたレンジは範囲外にある)と定められていた。
417 Expectation Failed Expectヘッダによる拡張が失敗
Expectヘッダによる拡張が失敗。
その拡張はレスポンスできない。
またはプロキシサーバは、次に到達するサーバがレスポンスできないと判断している。
具体例として、Expect:ヘッダに100-continue以外の変なものを入れた場合や、そもそもサーバが100 Continueを扱えない場合に返す。
418 I'm a teapot 私はティーポット
私はティーポット。
HTCPCP/1.0の拡張ステータスコード。
ティーポットにコーヒーを淹れさせようとして、拒否された場合に返すとされる、ジョークのコードである。
更に詳しくは以下にまとめました。
・https://urashita.com/archives/5076/4#418_teapot
421 Misdirected Request 誤ったリクエスト
誤ったリクエスト。
422 Unprocessable Entity 処理できないエンティティ
処理できないエンティティ。
WebDAVの拡張ステータスコード。
423 Locked ロックされている
ロックされている。
WebDAVの拡張ステータスコード。
リクエストしたリソースがロックされている場合に返す。
424 Failed Dependency 依存関係で失敗
依存関係で失敗。
WebDAVの拡張ステータスコード。
425 Too Early 早過ぎ
Early dataを受け入れない。
TLS 1.3のearly dataオプションが使用された場合(セッション再開で0-RTTのリクエスト送信)など、リプレイ攻撃が可能な方法で送信されたリクエストに対して、これを拒絶することを伝達する。
クライアントは新規にTLS接続を確立し、再度リクエストを送るべきである。
426 Upgrade Required アップグレード要求
アップグレード要求。
Upgrading to TLS Within HTTP/1.1の拡張ステータスコード。
法的理由により利用不可。
403 Forbiddenから派生したステータスコード。
5xx Server Error サーバエラー
500番台の意味は「サーバがリクエストの処理に失敗した。」です。
500 Internal Server Error サーバー内部エラー
サーバ内部エラー。
サーバ内部にエラーが発生した場合に返される。
例として、CGIとして動作させているプログラムに文法エラーがあったり、設定に誤りがあった場合などに返される。
更に詳しくは以下にまとめました。
・https://urashita.com/archives/20555
501 Not Implemented 実装されていない
実装されていない。
実装されていないメソッドを使用した。
例として、WebDAVが実装されていないサーバに対してWebDAVで使用するメソッド(MOVEやCOPY)を使用した場合に返される。
502 Bad Gateway 不正なゲートウェイ
不正なゲートウェイ。
ゲートウェイ・プロキシサーバは不正な要求を受け取り、これを拒否した。
更に詳しくは以下にまとめました。
・https://urashita.com/archives/20365
サービス利用不可。
サービスが一時的に過負荷やメンテナンスで使用不可能である。
例として、アクセスが殺到して処理不能に陥った場合に返される。
更に詳しくは以下にまとめました。
・https://urashita.com/archives/24895
504 Gateway Timeout ゲートウェイタイムアウト
ゲートウェイタイムアウト。
ゲートウェイ・プロキシサーバはURIから推測されるサーバからの適切なレスポンスがなくタイムアウトした。
更に詳しくは以下にまとめました。
・https://urashita.com/archives/20389
505 HTTP Version Not Supported サポートしていないHTTPバージョン
サポートしていないHTTPバージョン。
リクエストがサポートされていないHTTPバージョンである場合に返される。
506 Variant Also Negotiates
Transparent Content Negotiation in HTTPで定義されている拡張ステータスコード。
507 Insufficient Storage 容量不足
容量不足。
WebDAVの拡張ステータスコード。
リクエストを処理するために必要なストレージの容量が足りない場合に返される。
508 Loop Detected ループを検出
ループを検出。
WebDAVの拡張ステータスコード。
509 Bandwidth Limit Exceeded 帯域幅制限超過
帯域幅制限超過。
そのサーバに設定されている帯域幅(転送量)を使い切った場合に返される。
IANAに登録されていない非公式なものである。
510 Not Extended 拡張できない
拡張できない。
An HTTP Extension Frameworkで定義されている拡張ステータスコード。
511 Network Authentication Required ネットワークに対する認証が必要
ネットワークに対する認証が必要。
キャプティブポータル(英語版)での使用を意図している。
RFC 6585 で規定されている。
早わかりステータスコードチェッカー
複数の任意URLからHTTPステータスコードを一度に取得・確認する事ができるwebツールがあります。
200や404コードはもちろんの事、301や302リダイレクトの転送経路検索も同時に表示可能です。
↓HTTPのステータスコードチェッカー
・https://singoro.net/http-status-code/
コメント
[…] HTTPのステータスコードとは?一覧、早見表、確認、意味をわかりやすくま… より: 2018年11月21日 7:52 PM […]
[…] HTTPのステータスコードとは?エラー一覧、早見表、原因、確認、解決をま… […]