情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

サーバサイドウェブ開発基礎 HTTP詳説 ステータスコード

HTTPレスポンスのステータスコードについて解説します。

分類

ステータスコードは3桁の数値ですが、1桁目の数字によって下のように分類されます。

  • 1・・・暫定的なHTTPレスポンスであることを表します。最終的なHTTPレスポンスはこのHTTPレスポンスの後に送信します。
  • 2・・・HTTPリクエストが成功したことを表します。
  • 3・・・別のURI(URL)に対するHTTPリクエストを再送しなければならないことやキャッシュを使用するべきであることを表します。304Not Modified)ステータスコード以外の場合、再送しなければならないHTTPリクエストのURI(URL)参照がLocationヘッダフィールドに格納され、いつ再送を行うべきかがRetry-Afterヘッダフィールドに格納されます。
  • 4・・・HTTPリクエストが失敗したことを表し、その原因が誤ったHTTPリクエストであることを表します。
  • 5・・・HTTPリクエストが失敗したことを表し、その原因がサーバであることを表します。

100 Continue

100Continue)ステータスコードはサーバがHTTPリクエストを受信中であったり、処理中であったりすることを示します。

サーバがHTTPリクエストを完全に受信し、HTTPリクエストに対する処理を完了した場合には最終的なHTTPレスポンスを送信しなければなりません。

101 Switching Protocols

101Switching Protocols)ステータスコードはサーバが通信を別のプロトコルに移行しようとしていることを示します。

接続や通信の制御

200 OK

200OK)ステータスコードはHTTPリクエストが成功し、ボディにHTTPリクエストの結果が含まれていることを示します。

201 Created

201Created)ステータスコードはHTTPリクエストが成功し、新しいリソースが作成されたことを示します。

新しいリソースのURI参照がLocationヘッダフィールドに格納されます。

202 Accepted

202Accepted)ステータスコードはHTTPリクエストが受け入れられたもののHTTPリクエストに対する処理が完了していないことを示します。そのため、このHTTPレスポンスが送信された後でHTTPリクエストに対する処理が失敗する可能性はあります。

203 Non-Authoritative Information

203Non-Authoritative Information)ステータスコードはHTTPリクエストが成功したもののHTTPレスポンスのボディのデータがプロキシによって変更されたことを示します。

プロキシ

204 No Content

204No Content)ステータスコードはHTTPリクエストが成功したもののボディにはHTTPリクエストの結果が含まれていないことを示します。

206 Partial Content

206Partial Content)ステータスコードは範囲指定付きのHTTPリクエストが成功し、ボディにHTTPリクエストの結果が含まれていることを示します。

範囲リクエスト

300 Multiple Choices

300Multiple Choices)ステータスコードはリソースのリプリゼンテーションが複数のURIに複数存在することを示します。

301 Moved Permanently

301Moved Permanently)ステータスコードはリソースのURIが変更されたことを示します。

302 Found

302Found)ステータスコードはリソースのURIが一時的に変更されていることを示します。

303 See Other

303See Other)ステータスコードはリソースを説明するリソースへの誘導を示します。

304 Not Modified

304Not Modified)ステータスコードはリソースが変更されていないことを示します。

条件リクエスト

307 Temporary Redirect

307Temporary Redirect)ステータスコードはリソースのURIが一時的に変更されていることを示しますが、変更後のURIに対するHTTPリクエストを行う場合には必ず元のHTTPリクエストと同じメソッドで行わなければならないことも併せて示します。

400 Bad Request

400Bad Request)ステータスコードはHTTPリクエストが誤っていることを示します。

401 Unauthorized

401Unauthorized)ステータスコードはサーバからの認証が必要なHTTPリクエストであることを示します。

認証

403 Forbidden

403Forbidden)ステータスコードはHTTPリクエストは正しいもののHTTPリクエストを行う権限がないことを示します。

認証

404 Not Found

404Not Found)ステータスコードはリソースが存在しないことを示します。

405 Method Not Allowed

405Method Not Allowed)ステータスコードはリソースに対してメソッドが適用できないことを示します。

リソースに対して適用可能な1個以上のメソッドのリストが,区切りでAllowヘッダフィールドに格納されます。

406 Not Acceptable

406Not Acceptable)ステータスコードはHTTPリクエストに適合するリソースのリプリゼンテーションが存在しないことを示します。

コンテントネゴシエーション

407 Proxy Authentication Required

407Proxy Authentication Required)ステータスコードはプロキシからの認証が必要なHTTPリクエストであることを示します。

認証

408 Request Timeout

408Request Timeout)ステータスコードはサーバでHTTPリクエストの受信のタイムアウトが発生したことを示します。

409 Conflict

409Conflict)ステータスコードはHTTPリクエストの内容がリソースの内容に適合していないことを示します。

410 Gone

410Gone)ステータスコードはリソースが削除されたことを示します。

411 Length Required

411Length Required)ステータスコードはHTTPリクエストにContent-Lengthヘッダフィールドを設定する必要があることを示します。

接続や通信の制御

412 Precondition Failed

412Precondition Failed)ステータスコードはHTTPリクエストに付加された条件が満たされていないことを示します。

条件リクエスト

413 Payload Too Large

413Payload Too Large)ステータスコードはボディが長過ぎることを示します。

414 URI Too Long

414URI Too Long)ステータスコードはURIが長過ぎることを示します。

415 Unsupported Media Type

415Unsupported Media Type)ステータスコードはボディのデータのメディアタイプ(MIMEタイプ)やボディのデータに使用したコンテントコーディングがサポートされていないものであることを示します。

リプリゼンテーションメタデータ

416 Range Not Satisfiable

416Range Not Satisfiable)ステータスコードはHTTPリクエストに付加された範囲指定を処理することができないことを示します。

範囲リクエスト

417 Expectation Failed

417Expectation Failed)ステータスコードはHTTPリクエストに付加されたサーバの動作に対する要求が満たせないことを示します。

動作の制御

426 Upgrade Required

426Upgrade Required)ステータスコードは以降の通信を別のプロトコルに移行することが必要であることを示します。

接続や通信の制御

500 Internal Server Error

500Internal Server Error)ステータスコードはサーバでエラーが発生したことを示します。

501 Not Implemented

501Not Implemented)ステータスコードはサーバがメソッドやトランスファーコーディングをサポートしていないことを示します。

トランスファーコーディング

502 Bad Gateway

502Bad Gateway)ステータスコードはプロキシがサーバから誤ったHTTPレスポンスを受け取ったことを示します。

503 Service Unavailable

503Service Unavailable)ステータスコードはサーバが一時的にHTTPリクエストを処理できない状態になっていることを示します。

いつHTTPリクエストの再送を行うべきかがRetry-Afterヘッダフィールドに格納されます。

504 Gateway Timeout

504Gateway Timeout)ステータスコードはプロキシでHTTPレスポンスの受信のタイムアウトが発生したことを示します。あるいは、プロキシがHTTPレスポンスのキャッシュを保持していないことを示します。

キャッシュ

505 HTTP Version Not Supported

505HTTP Version Not Supported)ステータスコードはサーバがHTTPリクエストのメジャーバージョンをサポートしていないことを示します。

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-http, web