サーチ…


パラメーター

ステータスコード理由フレーズ - 説明
100 続行 - クライアントは、複数の部分からなる要求の次の部分を送信する必要があります。
101 スイッチングプロトコル - この通信で使用されるプロトコルのバージョンまたはタイプがサーバーによって変更されています。
200 OK - サーバーはクライアントの要求を受信して​​完了しました。
201 Created - サーバーは要求を受け入れ、新しいリソースを作成しました。これはLocationヘッダーのURIの下で使用できます。
202 Accepted - サーバーはクライアントの要求を受信して​​受け入れましたが、まだ処理を開始または完了していません。
203 権限のない情報 - サーバーは元のサーバーで利用可能な情報のサブセットまたはスーパーセットである可能性のあるデータを返しています。主にプロキシによって使用されます。
204 No Content - レスポンスのボディがない場合に200(OK)の代わりに使用されます。
205 コンテンツのリセット - 204(No Content)と同じですが、クライアントはアクティブなドキュメントビューを再読み込みする必要があります。
206 部分的な内容 - クライアントがRangeヘッダーを要求したときに200(OK)の代わりに使用されます。
300 複数の選択 - 要求されたリソースは複数のURIで利用可能であり、クライアントは要求をメッセージ本文のリストに指定されたURIにリダイレクトする必要があります。
301 Permanently Moved - 要求されたリソースはこのURIで利用できなくなり、クライアントはこれと今後のすべての要求をLocationヘッダーで指定されたURIにリダイレクトする必要があります。
302 Found - リソースは一時的に別のURIの下にあります。このリクエストは、 LocationヘッダーのURIへのユーザーの確認の際にリダイレクトする必要がありますが、今後のリクエストは変更しないでください。
303 その他 - 302(Found)とよく似ていますが、指定されたURIにリダイレクトするためのユーザー入力は必要ありません。提供されたURIは、GET要求で取得する必要があります。
304 変更されていない - クライアントはIf-Modified-Sinceまたは同様のヘッダーを送信しました。その時点以降、リソースは変更されていません。クライアントはリソースのキャッシュされたコピーを表示する必要があります。
305 プロキシを使用する - 要求されたリソースは、 Locationヘッダーフィールドで指定されたプロキシを介して再度要求されなければなりません。
307 一時リダイレクト - 302(Found)と同じですが、HTTP 1.0クライアントは307応答をサポートしていません。
400 不正なリクエスト - クライアントは構文エラーを含む不正なリクエストを送信しましたが、リクエストを修正してそれを修正してからそれを繰り返す必要があります。
401 Unauthorized - 要求されたリソースは認証なしで利用できません。クライアントは、認証の詳細を提供するためにAuthorizationヘッダーを使用して要求を繰り返す場合があります。
402 支払い必須 - コンテンツを閲覧するためにユーザーの購読を必要とするアプリケーションで使用するための予約済み、未指定のステータスコード。
403 禁止されている - サーバーは要求を認識しますが、既存のアクセス制御のために要求を実行することを拒否します。この要求は繰り返さないでください。
404 見つからない - 要求されたURIと一致するこのサーバーで利用可能なリソースがありません 。アクセス制御の詳細が表示されないように、403の代わりに使用できます。
405 メソッドが許可されていません - リソースが要求メソッド(HTTP動詞)をサポートしていません。 Allowヘッダーには受け入れ可能な要求メソッドが一覧表示されます。
406 Not Acceptable - リソースには、要求で送信された受け入れヘッダーに違反する特性があります。
407 プロキシ認証が必要 - 401(Unauthorized)と似ていますが、クライアントが最初に中間プロキシで認証する必要があることを示します。
408 Request Timeout - サーバーはクライアントからの別の要求を期待していましたが、受け入れ可能な時間枠内には何も要求されませんでした。
409 Conflict - リソースの現在の状態と競合しているため、要求を完了できませんでした。
410 Gone - 404(Not Found)と同様ですが、永久的な削除を示します。転送先アドレスは使用できません。
411 Length Required - クライアントは有効なContent-Lengthヘッダーを指定しておらず、サーバーがこの要求を受け入れる前にそれを行わなければなりません。
412 Precondition Failed - クライアントが送信した条件付きヘッダーで指定されたすべての条件でリソースを使用できません。
413 要求エンティティが大きすぎる - サーバーは現在、クライアントが送信した長さのメッセージ本文を処理できません。
414 Request-URIが長すぎる - Request-URIがサーバーが解釈しようとするよりも長いため、サーバーは要求を拒否しています。
415 サポートされていないメディアタイプ - サーバーは、クライアントによって指定されたMIMEまたはメディアタイプをサポートしておらず、この要求を処理できません。
416 Requested Range Not Satisfiable - クライアントがバイト範囲を要求しましたが、サーバーはその仕様にコンテンツを提供できません。
417 Expectation Failed - クライアントは、サーバーが満たすことができないExpectヘッダーの制約を指定しました。
500 内部サーバーエラー - 予期しない状態またはエラーが発生したため、サーバーはこの要求を完了できませんでした。
501 実装されていない - サーバーは要求を完了するために必要な機能をサポートしていません。通常、 どのリソースでサポートされていない要求メソッドを示すために使用されます。
502 Bad Gateway - サーバーがプロキシであり、この要求の処理中にアップストリームサーバーから無効な応答を受信しました。
503 Service Unavailable - サーバーが高負荷状態またはメンテナンス中で、現在この要求を処理する能力がありません。
504 ゲートウェイタイムアウト - サーバーはプロキシであり、タイムリーにアップストリームサーバーからの応答を受信しませんでした。
505 サポートされていないHTTPバージョン - サーバーは、クライアントが要求したHTTPプロトコルのバージョンをサポートしていません。

基本的な応答形式

HTTPサーバーが整形式のHTTP要求を受信すると、要求に含まれる情報を処理してクライアントに応答を返さなければなりません。単純なHTTP 1.1レスポンスは、次のように見えるかもしれません。多くの場合、いくつかのヘッダーフィールドが続きます。

HTTP/1.1 200 OK \r\n
HTTP/1.1 404 Not Found \r\n
HTTP/1.1 503 Service Unavailable \r\n

シンプルなHTTP 1.1レスポンスは次の形式をとります:

HTTP-Version Status-Code Reason-Phrase CRLF

要求と同様に、 HTTP-Versionは使用中のHTTPプロトコルのバージョンを示します。 HTTP 1.1では常にHTTP/1.1という文字列でなければなりません。

Status-Codeは、クライアントの要求のステータスを示す3桁のコードです。このコードの最初の桁はステータスクラスで、ステータスコードを5つのカテゴリのレスポンス[1]のいずれかに配置します。

  • 1xx 情報 - サーバーが要求を受信し、処理が続行中です。
  • 2xx 成功 - サーバーが要求を受け入れて処理しました
  • 3xx リダイレクション - 要求を完了するためにクライアント側でさらにアクションが必要
  • 4xx Client Errors - クライアントが不正な形式の要求を送信したか、または実行できませんでした
  • 5xx サーバーエラー - 要求は有効でしたが、サーバーは現在それを実行できません

Reason-Phraseは、ステータスコードの簡単な説明です。たとえば、コード200OK理由フレーズがあります。コード404は、 Not Foundフレーズを有する。理由フレーズの完全なリストは、パラメータ、以下、またはHTTP仕様で利用できます。

この行は通常は\r\n表されるキャリッジリターンラインフィードのペアで終わります。

追加ヘッダー

HTTPリクエストと同様に、HTTPレスポンスには、レスポンスを変更または拡張するための追加ヘッダーが含まれている場合があります。

使用可能なヘッダーの完全なリストは、仕様の§6.2で定義されています 。最も一般的に使用されるヘッダーは次のとおりです。

  • Server User-Agent要求ヘッダーのように機能します。
  • Location :リダイレクト先のURIを示す201および3xxのステータス応答で使用されます。そして
  • ETagは、クライアントが応答をキャッシュできるように、このバージョンの返されたリソースの一意の識別子です。

レスポンスヘッダーはステータス行の後に来て、 リクエストヘッダーは次のように形成されます。

Name: Value CRLF

Nameは、 ETagLocationなどのヘッダーName提供し、 Valueは、サーバーがそのヘッダーに設定する値を提供します。行はCRLFで終わります。

ヘッダーの応答は次のようになります。

HTTP/1.1 201 Created \r\n
Server: WEBrick/1.3.1 \r\n
Location: http://example.com/files/129742 \r\n

メッセージ本文

要求本文と同様に、HTTP応答にはメッセージ本文が含まれている場合があります。これにより、クライアントが処理する追加データが提供されます。特に、整形式のGET要求に対する200 OK応答は、常に要求されたデータを含むメッセージ本文を提供する必要があります。 (存在しない場合、204 No Contentはより適切な応答です)。

すべてのヘッダーの後にメッセージ本文が含まれ、CRLFが2つ続きます。要求に関しては、長さはバイトでContent-Lengthヘッダーで指定する必要があります。したがって、GET要求に対する正常な応答は、次のようになります。

HTTP/1.1 200 OK\r\n
Server: WEBrick/1.3.1\r\n
Content-Length: 39\r\n
ETag: 4f7e2ed02b836f60716a7a3227e2b5bda7ee12c53be282a5459d7851c2b4fdfd\r\n
\r\n
Nobody expects the Spanish Inquisition.


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow