リクエストの基本フォーマットには、リクエストライン、リクエストヘッダ、リクエストエンティティの3つの部分が含まれます。例:
GET /img/bd_logo1.png HTTP/1.1
Accept: */*
Referer: http://www.baidu.com/
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
ユーザーエージェント: Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
ホスト: www.baidu.com
接続: キープアライブ
Cookie: BAIDUID=B0DF0BDAD30649F69A8930D11BDB6DE8:FG=1 ;
(リクエスト エンティティですが、これは GET リクエストであるためリクエスト エンティティはありません)
GET /img/bd_logo1.png HTTP/1.1
上記の GET はリクエスト メソッド、/img/bd_logo1.png はリクエスト URL、HTTP/1.1 はリクエスト プロトコルとバージョンです。
Accept: */*
Referer: http://www.baidu.com/
Accept-Language: zh-cn
Accept-Encoding: gzip、deflate
User-Agent: Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
ホスト: www.baidu.com
接続: Keep -Alive
Cookie:a=1
Accept: ブラウザーが受け入れ可能な MIME タイプ、*/* はすべてのタイプを示します。
リファラー: ユーザーが現在リクエストしているページにアクセスするための URL が含まれます。
Accept-Language: ブラウザーが要求する言語タイプ。サーバーが複数の言語バージョンを提供できる場合に使用されます。
Accept-Encoding: ブラウザーがデコードできるデータ エンコード方式 (gzip など)。サーブレットは、gzip でエンコードされた HTML ページを gzip をサポートするブラウザに返すことができます。多くの場合、これによりダウンロード時間が 5 ~ 10 分の 1 に短縮されます。
Accept-Charset: ブラウザーが受け入れられる文字セット。
User-Agent: ブラウザ タイプ。サーブレットによって返されるコンテンツがブラウザ タイプに関連する場合、この値は非常に便利です。
ホスト: 初期 URL のホストとポート。ポートがデフォルトの 80 の場合は表示されません。
接続: 永続的な接続が必要かどうかを示します。サーブレットがここの値を「Keep-Alive」と認識した場合、またはリクエストが HTTP 1.1 を使用していることを認識した場合 (HTTP 1.1 はデフォルトで永続的な接続を作成します)、ページに複数の要素 (アプレット、画像)、ダウンロードに必要な時間を大幅に短縮します。これを実現するには、サーブレットは応答で Content-Length ヘッダーを送信する必要があります。これを実現する最も簡単な方法は、まずコンテンツを ByteArrayOutputStream に書き込み、次にコンテンツを正式に書き出す前にそのサイズを計算することです。
Cookie: これは最も重要なリクエスト ヘッダー情報の 1 つであり、多くのコンテンツがある可能性があるため、通常は最後に配置されます。
Authorization: 承認情報。通常、サーバーによって送信された WWW-Authenticate ヘッダーへの応答に表示されます。
Content-Length: リクエストメッセージ本文の長さを示します。
From: リクエスト送信者の電子メール アドレス。一部の特別な Web クライアント プログラムによって使用され、ブラウザーによっては使用されません。
If-Modified-Since: 指定された日付以降に変更された場合にのみ、要求されたコンテンツを返します。それ以外の場合は、304 "Not Modified" 応答を返します。
プラグマ: 「no-cache」値を指定すると、サーバーがプロキシ サーバーであり、ページのローカル コピーがすでにある場合でも、更新されたドキュメントを返さなければならないことを意味します。
UA-Pixels、UA-Color、UA-OS、UA-CPU: 特定のバージョンの IE ブラウザーによって送信される非標準のリクエスト ヘッダーで、画面サイズ、色深度、オペレーティング システム、CPU タイプを示します。