HTTP 要求
HTTP 要求は、サーバー上にある指定されたホストに対して、クライアントによって作成されます。 要求の目的は、サーバー上にあるリソースにアクセスすることです。
リクエストを行うために、クライアントは URL (Uniform Resource Locator)のコンポーネントを使用します。これには、リソースにアクセスするために必要な情報が含まれています。 URLの構成要素がURLについて説明しています。
- 要求行。
- 一連の HTTP ヘッダー、またはヘッダー・フィールド。
- メッセージ・ボディ (必要な場合)。
要求行
- メソッド。 メソッドは、リソースを使用して何を行うかをサーバーに伝える、1 語のコマンドです。 例えば、サーバーは、リソースをクライアントに送信するように要求される場合があります。
- 要求の URL のパス構成要素。 パスは、サーバー上のリソースを識別します。
- クライアントがそのメッセージをどの HTTP 仕様に準拠させようとしているのかを示す、HTTP バージョン番号。
GET /software/htp/cics/index.html HTTP/1.1この例では、次のようになっています。- メソッドは
GET - パスは
/software/htp/cics/index.html - HTTP バージョンは
HTTP/1.1
- 照会ストリング。 これは、リソースが何かの目的に使用できる情報のストリングを提供します。 照会ストリングは先頭に疑問符 (?) を付けて、パスの後に続きます。
- パスに追加される、URL のスキームおよびホスト構成要素。 リソースの位置がこの方法で指定される場合、これは絶対 URI 形式と呼ばれています。 HTTP/1.1 の場合、この形式は、要求がプロキシー・サーバーを通る場合に使用されます。 また、HTTP/1.1 の場合、URL のホスト構成要素が要求行に含まれていない場合は、メッセージの Host ヘッダーに組み込む必要があります。
HTTP ヘッダー
HTTP ヘッダーは、メッセージ、送信者、および送信側が求める受信側との通信方法に関する情報を、 受信側に提供するため、メッセージに書き込まれます。 各 HTTP ヘッダーは、名前と値で構成されます。 HTTP プロトコルの仕様では、標準セットの HTTP ヘッダーを定義し、それらのヘッダーを正しく使用する方法について記述しています。 または、HTTP メッセージには、HTTP/1.1 または HTTP/1.0 の仕様の一部には含まれていない、拡張ヘッダーを組み込むこともできます。
Accept-Language: fr, de
If-Modified-Since: Fri, 10 Dec 2004 11:22:13 GMT
要求メッセージの一連の HTTP ヘッダーの後には、ヘッダーとメッセージ・ボディを区切るために、空の行 (つまり、CRLF のみの行) が置かれます。
メッセージ・ボディ
HTTP メッセージのボディの内容はいずれも、メッセージ・ボディまたはエンティティー・ボディとして参照できます。 技術の見地からいえば、エンティティー・ボディはメッセージの実際の内容です。 メッセージ・ボディには、エンティティー・ボディが含まれます。 エンティティー・ボディは、元の状態のままであることも、移送のために なんらかの方法で (例えば、チャンクに分割されている (チャンク転送コーディング) など) エンコードされることもあります。 要求のメッセージ・ボディは、便宜上、要求ボディとして参照される場合があります。
メッセージ・ボディは、一部の要求メソッドには適切で、その他の要求メソッドには不適切 な場合があります。 例えば、入力データをサーバーに送信する、POST メソッドを持つ要求には、データが含まれているメッセージ・ボディがあります。 リソースの送信をサーバーに求める、GET メソッドを持つ要求には、メッセージ・ボディはありません。