HTTPのステータスコードとは?エラー一覧、早見表、原因、確認、解決をまとめ

ITで知っておくべき知識
スポンサーリンク

HTTPにはステータスコード (エラーコード) という、レスポンスの意味をあらわす3桁の数字があります。

200, 400, 403, 404, 302, 500, 502, 503, 504などがよく見るコードです

 

HTTPステータスコードについて、早見表を一覧にして、意味をわかりやすくまとめました。

目次

スポンサーリンク

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

 

401 Unauthorized 認証が必要

認証が必要である。

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の拡張ステータスコード。

451 Unavailable For Legal Reasons 法的理由により利用不可

法的理由により利用不可。

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

 

503 Service Unavailable サービス利用不可

サービス利用不可。

サービスが一時的に過負荷やメンテナンスで使用不可能である。

例として、アクセスが殺到して処理不能に陥った場合に返される。

 

更に詳しくは以下にまとめました。

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/

 

 

コメント

  1. […] HTTPのステータスコードとは?一覧、早見表、確認、意味をわかりやすくま… より: 2018年11月21日 7:52 PM […]

  2. […] HTTPのステータスコードとは?エラー一覧、早見表、原因、確認、解決をま… […]