HTTPメッセージはプレーンなASCIIテキストで構成されています。 メッセージにはヘッダーとデータ本文部分が含まれます。 メッセージヘッダーは動作の単位であり、各行の末尾にはCRLF(キャリッジリターンおよび改行)があります。 httpリクエスト:
例は以下の通りです。
GET/sample.jspHTTP/1.1
Accept:image/gif.image/jpeg,*/*
Accept-Language:zh-cn
Connection:Keep-Alive
Host:localhost
User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
Accept-Encoding:gzip,deflate
username=jinqiao&password=1234 RequestMethod: OPTIONS,, POST, PUT, DELETE, TRACE, CONNECT。
GET リクエストは、Request-URI で識別されたリソースを取得するためのものです POSTはRequest-URIで特定されたリソースの後に新しいデータを付加します HEADリクエストは、Request-URIで識別されたリソースのレスポンスメッセージヘッダーを取得するためのものです。 PUTリクエストサーバーはリソースを格納し、Request-URIを識別子として使用します DELETE リクエストサーバーはrequest-URIで識別されたリソースを削除します TRACEリクエストサーバーは受信したリクエスト情報を返します。これは主にテストや診断に使用されます CONNECTは将来の利用のために予約されています OPTIONSはサーバーのパフォーマンスを問い合わせるため、またはリソースに関連するオプションや要件を問い合わせるための要求です
ユーザーエージェント:クライアントのブラウザ情報。 Connection:closeは短い接続が使われていることを示し、Keep-Aliveはクライアントが永続的な接続をサポートしていることを示します。 日付:メッセージが生成された現在の時刻。 Accept-Language:クライアントがサポートする言語です。 キャッシュコントロール:クライアントがキャッシュをサポートしているかどうか。 キャッシュなしとは、クライアントがキャッシュをサポートしていないことを意味します。例えばmax-age=3600は、リクエストの応答結果が有効である期間をユーザーエージェントに伝え、有効期間中にユーザーが再びアクセスを必要とする際には、サーバーにアクセスすることなくクライアントから直接ローカルから抽出できます。 リファラー:リファラーはリクエストの出自をサーバーに伝え、ユーザーのウェブアクセス経路を追跡するために利用されます。
If-Modified-Since: 如果请求消息包含If-Modified-Since标题 域,GET方法的语法就变成“条件GET”,即“(conditional GET)”。 条件GET方法可以对指定资源进行判断,如果它在If-Modified-Since标题域中的指定日期后发生了更新,才启动传输,否则不传输。这种条件 GET允许被缓存的实体在不必经过多次请求或不必要的数据传输就能进行刷新,从而有助于降低网络负载。
Last-Modified: Sun, 03 Dec 2008 23:52:56 GMT
ETag: “1cbf3-dfd-3a2adcd8″ 一般的に、ファイルダウンロード時にレスポンスコンテンツの最終修正時刻や内容の検証が強化された時間を特定するために使われ、次のユーザーエージェントがそれを必要とする際には、まずこれら2つの値がサーバー上の値と同じかどうかを判断し、同じ値でコンテンツを返す必要はありません。 期限切れ:リクエストの応答結果がいつ終了するか、かつ期限が切れる前にエージェントはキャッシュから直接前の応答結果を返すことができます。 ホスト:リクエスト先リソースのホストとポート番号を指定します。 HTTP/1.1のリクエストはホストを指定する必要があり、そうでなければサーバーは400ステータスコードを返します。
http応答: 例は以下の通りです。 HTTP/1.1 200 OK
Date: Mon, 04 May 2015 04:47:13 GMT
Server: Apache
Cache-Control: max-age=0
Expires: Mon, 04 May 2015 04:47:13 GMT
Vary: Accept-Encoding,User-Agent
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html;charset=utf-8
X-Pad: avoid browser bug
ステータスラインにはHTTPプロトコルのバージョン番号、ステータスコード、ステータスコードのテキスト説明が含まれます。 例えば:HTTP/1.1 200 OK ステータスコードは3桁の数字で構成され、その意味はおおよそ5つあります。 1. 1xx。 情報、受領、処理継続。 2. 2xx。 成功。 200件のリクエストが成功し、 206 ブレイクポイントは続きました。 3. 3xx。 リダイレクト。 基本的には新しい住所にジャンプします。 4. 4xx。 クライアントのエラーです。 404ファイルは存在しません 5. 5xx。 サーバーエラー。 内部エラー500件。
Set-Cookie:サーバーがクライアント側のクッキーを設定します。 設定形式はname=valueで、複数のパラメータを設定する場合、中間はセミコロンで区切られます。 Set-Cookieはまた、いくつかのパラメータを使用します:PATHは有効なパスを設定し、DOMAINはクッキーが有効になるドメイン名を設定し、Expireはクッキーの有効期間を設定し、0はブラウザが閉じられた時点で有効期限が切れます。 locatio{filter}n:このパラメータは、サーバーが3xxリダイレクトを返すときにリダイレクトを実装します。 このプロトコルは広告リンクのジャンプに使用されます。 コンテンツ長:付属物(データエンティティ)の長さ。 |