httpステータスコードについて記載します。
監視・管理設計時に必要な情報なため、まとめてみました。
年単位だと意外に増えるので、見つけ次第更新して行きたいと思います。
HTTPステータスコードはクライアントがHTTPサーバにアクセスした際に正常、異常等を数字で表しているのですが、大きくはRFC7231に規定があります。
100番台~500番台があり100番区切りで用途が分けられています。
余談ですが、転職の面接でエラー番号と発生したケースを聞かれたりします(サポートでは特に)ので、ある程度覚えておくと良いと思います。
- 1xx (Informational): The request was received, continuing process
- 2xx (Successful): The request was successfully received,understood, and accepted
- 3xx (Redirection): Further action needs to be taken in order to complete the request
- 4xx (Client Error): The request contains bad syntax or cannot be fulfilled
- 5xx (Server Error): The server failed to fulfill an apparently valid request
枝番号については、複数のRFCで記載され度のコードを返すかはアプリケーションの実装状況(特にミドルウェア)による感じです。
| コード | 説明 | |
| 100 | Continue | リクエスト継続可能中である |
| 101 | Switching Protocols | サーバはリクエストを理解し、遂行のためにプロトコルの切り替えを要求している |
| 102 | Processing | WebDAVの拡張ステータスコード。処理が継続されて行われていることを示す。 |
| 103 | Early Hints | 最終的なレスポンスヘッダが確定する前に、予想されるヘッダを伝達する。関連するリソースの先読み・プッシュ配信に利用することが想定されている。 |
| 200 | OK | リクエストが正常に処理できた |
| 201 | Created | リクエストが成功してリソースの作成が完了 |
| 202 | Accepted | リクエストを受け取ったが処理はされていない |
| 203 | Non-Authoritative Information | リクエストが成功したものの、変換プロキシによって元のサーバーの200(OK)レスポンスからペイロードが変更された |
| 204 | No Content | リクエストに対して送信するコンテンツは無いがヘッダは有用である |
| 205 | Reset Content | クライアントにドキュメントビューをリセットするように指示 |
| 206 | Partial Content | 要求された範囲のデータやリソースの一部分だけのリクエストが成功 |
| 207 | Multi-Status | 複数のステータス。WebDAVの拡張ステータスコード。 |
| 208 | Already Reported | 既に報告済。WebDAVの拡張ステータスコード。同じコレクションに繰り返し複数のバインディングする内部メンバーを列挙することを避けるため使用する。 |
| 226 | IM Used | IMで使用。Delta encoding in HTTP(差分符号化)の拡張ステータスコード。 |
| 300 | Multiple Choices | リクエストに対して複数のレスポンスがあることを示す |
| 301 | Moved Permanently | リクエストしたリソースが恒久的に移動されているときに返される |
| 302 | Found | リクエストしたリソースが一時的に移動されているときに返される |
| 303 | See Other | リクエストに対するレスポンスが他のURLに存在するときに返される |
| 304 | Not Modified | リクエストしたリソースは更新されていないことを示す |
| 305 | Use Proxy | プロキシを使用してリクエストを行わなければならないことを示す |
| 306 | (Unused) | 将来のために予約されているとされる |
| 307 | Temporary Redirect | リクエストしたリソースは一時的に移動されているときに返される。ヘッダに移動先のURLが示されている。302の規格外な使用法が横行したため、302の本来の使用法を改めて定義したもの。 |
| 308 | Permanent Redirect | リクエストメソッドを変更してはならないリクエストしたリソースは恒久的に移動されている。 |
| 400 | Bad Request | リクエストが不正である。定義されていないメソッドを使うなど、クライアントのリクエストが正しくない。 |
| 401 | Unauthorized | 認証が必要である。アクセス権が無い、または認証に失敗。 |
| 402 | Payment Required | 料金の支払いをするまでリクエストを処理できない状態(現在は実装されておらず、将来のために予約されているとされる) |
| 403 | Forbidden | 禁止されており、閲覧権限が無いファイルやフォルダにアクセスした |
| 404 | Not Found | リクエストされたWebページが見つからない |
| 405 | Method Not Allowed | 送信するクライアント側のメソッドが許可されていない |
| 406 | Not Acceptable | サーバ側が受付不可能な値(ファイルの種類など)であり提供できない状態 |
| 407 | Proxy Authentication Required | プロキシサーバ経由で通信を行う際にプロキシサーバの認証情報が不足している |
| 408 | Request Timeout | リクエスト送信後のやり取りに時間が長すぎるため時間切れ |
| 409 | Conflict | サーバに既に存在しているデータが競合しているためリクエストを完了できない |
| 410 | Gone | ファイルが削除されたため、ほぼ永久的にWebページが存在しない |
| 411 | Length Required | Content-Lengthとはリクエストヘッダに送るデータ容量が書いてある項目。サーバの方でContent-Lengthヘッダが無いためアクセスを拒否した |
| 412 | Precondition Failed | ヘッダで定義された前提条件が満たされていない場合にアクセス拒否される |
| 413 | Request Entity Too Large | ファイルをアップロードする際にサーバで定めたファイル容量の上限を超えてしまった為アクセス拒否された |
| 414 | Request-URI Too Long | 指定したURLが長すぎる |
| 415 | Unsupported Media Type | サーバで許可していないリクエストの種類の為、アクセスが拒否された |
| 416 | Requested Range Not Satisfiable | レンジは範囲外にある。実リソースのサイズを超えるデータを要求した。 |
| 417 | Expectation Failed | サーバが拡張されたステータスコードを返すことが出来ない |
| 418 | I’m a teapot | HTCPCP/1.0の拡張ステータスコードであり、ジョークコード(現在は実装されておらず、将来のために予約されているとされる) |
| 421 | Misdirected Request | 誤ったリクエスト。リクエストは、レスポンスを生成できないサーバーに送られた |
| 422 | Unprocessable Entity | リクエストは正常だが処理できないエンティティである。WebDAVの拡張ステータスコード。 |
| 423 | Locked | ロックされている。WebDAVの拡張ステータスコード。リクエストしたリソースがロックされている場合に返す。 |
| 424 | Failed Dependency | WebDAVの拡張ステータスコード。依存関係が失敗している。 |
| 425 | Too Early | TLS 1.3のearly dataオプションが使用された場合など、リプレイ攻撃が可能な方法で送信されたリクエストに対して拒絶した |
| 426 | Upgrade Required | アップグレード要求した |
| 428 | Precondition Required | 事前条件が必要。条件付きリクエストでなければならない場合に返される |
| 429 | Too Many Requests | 短時間に大量の要求を送信してきたため、サーバーが処理を拒否した |
| 431 | Request Header Fields Too Large | リクエストヘッダーフィールドのデータ量が多いため、サーバーが処理を拒否した |
| 451 | Unavailable For Legal Reasons | アクセスを拒否するよう法的請求を受け取ったことにより利用不可である |
| 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 | Transparent Content Negotiation in HTTPで定義されている拡張ステータスコード |
| 507 | Insufficient Storage | WebDAVの拡張ステータスコード。リクエストを処理するために必要なストレージの容量が足りない場合に返される |
| 508 | Loop Detected | ループを検出。WebDAVの拡張ステータスコード |
| 510 | Not Extended | 拡張はできない。An HTTP Extension Frameworkで定義されている拡張ステータスコード |
| 511 | Network Authentication Required | ネットワークに対する認証が必要。キャプティブポータル(ユーザー認証が成立するまで、ネットワークへのアクセスから無線クライアントをブロックする機能)での使用を意図している。 |
ご参考まで