HTTPメッセージの構造
HTTP は、クライアント/サーバー (C/S) アーキテクチャ モデルに基づいており、信頼性の高いリンクを通じて情報を交換する、ステートレスな要求/応答プロトコルです。
HTTP「クライアント」とは、1 つ以上の HTTP リクエストをサーバーに送信する目的でサーバーに接続するアプリケーション (Web ブラウザーまたはその他のクライアント) です。
HTTP は、Uniform Resource Identifier (URI) を使用してデータを送信し、接続を確立します。
接続が確立されると、データ メッセージは、インターネット メール [RFC5322] および MultiPurpose Internet Mail Extensions (MIME) [RFC2045] で使用されるのと同様の形式を使用して送信されます。
クライアントリクエストメッセージ
クライアントは、リクエスト行、リクエストヘッダー、空行、リクエストデータの形式を含みます。以下の図は、リクエストの一般的な形式を示しています。メッセージ。
サーバー応答メッセージ
HTTP 応答も、ステータス行、メッセージ ヘッダー、空行、応答本文の 4 つの部分で構成されます。
例
次の例は、GET を使用してデータを転送する典型的な例です。
クライアント要求:
GET /hello.txt HTTP/1.1 User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3 Host: www.example.com Accept-Language: en, mi
サーバー応答:
HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT ETag: "34aa387-d-1568eb00" Accept-Ranges: bytes Content-Length: 51 Vary: Accept-Encoding Content-Type: text/plain
出力結果:
Hello World! My payload includes a trailing CRLF.