HTTP要求パケットと応答パケットの構造構造
HTTPリクエストのリクエストライン、リクエストヘッダ、ブランク行、テキスト要求(GETリクエストは、リクエスト本体はない)4部によって主として。
図1に示すように、リクエストライン
三つの部分、すなわち、で構成されていますとの間の空間によって分離されたリクエストメソッド、URL、およびプロトコルバージョン、。
;リクエストメソッドはGET、HEAD、PUT、POET、TRACE、OPTIONS、DELETEおよび拡張方法、もちろん、ないすべてのサーバーがセキュリティ上の理由のための方法の支持部は、異なる場合であっても、すべての方法を達成しているが含まれます
プロトコルバージョンの形式は次のとおりです。一般的にHTTP / 1.0およびHTTP / 1.1を使用するHTTP /メジャーバージョン、マイナーバージョン番号、;.
図2に示すように、リクエストヘッダ
要求ヘッダーは、名前と値との間のコロンで区切られたいくつかの追加の情報、「名前/値」のペアを1行に1つずつ対を追加するための要求メッセージです。
一般的な要求ヘッダーを次のように
3、空行
最後のリクエストヘッダは、ボディのための要求に続いて、ヘッドエンドの要求は、この行は必須で、非常に重要であることを示し、空白行であろう。
図4に示すように、リクエストボディ
オプションパーツには、そのような要求は、GETリクエストボディではありません。
HTTP応答メッセージボディ部に応答して第1の空の行、4に応答して、主ラインの状態によって、。
状態1、行
それはつまり3つの部分からなる:プロトコルバージョン、ステータスコード、ステータスコード記述との間の空間によって分離されました。
図2に示すように、第一に応答して
同様に、応答メッセージのリクエストヘッダといくつかの追加情報を追加します。
一般的な応答ヘッダーを次のように
3、空行
4、レスポンスボディ
一般的なHTTPヘッダフィールド
A、(要求パケットと応答パケットのヘッダフィールドは、共通ヘッダフィールドを使用します)
日付:パケットの時間を作成します。
接続:接続管理
Cache-Control:キャッシュ制御
転送符号化:符号化する送信パケット体、そのような転送をコードとして:チャンク。
B、リクエストヘッダフィールド(パケット要求ヘッダフィールドを使用することができます)
ホスト:サーバーリソース要求
受け入れ:処理できるメディアの種類
受け入れ-文字セットを:文字セットを受け取ります
受け入れエンコード:許容可能なコンテンツのエンコーディングを
言語を受け入れ:許容自然言語
リファラー:HTTPリファラヘッダの一部であり、ブラウザは、私が各地からサーバーページへのリンクを教えて、通常のRefererを持って、Webサーバーにリクエストを送信すると、サーバーが処理するためにいくつかの情報を得ることができます。例えば、そこに友人に私のホーム・ページからのリンクは、彼のサーバーは、私は彼のウェブサイトを訪問するホームページ上のリンクをクリックして、毎日のユーザーの数にHTTPリファラーからの統計にできるようになります。要求はCSRF攻撃から来ている場合は、リファラーのフィールドは、悪意のあるWebサイトのアドレスが含まれていますが、この時点では、サーバーは、悪質なアクセスを識別することができます。
C、レスポンスヘッダフィールド(メッセージヘッダーフィールドに応じて使用することができます)
-範囲を受け入れ:許容範囲バイト
場所:別のURIにクライアントをリダイレクト
サーバー:HTTPサーバーのインストール情報
D、(使用される要求パケットと応答パケットのエンティティヘッダフィールド部)エンティティヘッダフィールド
許可:リソースはHTTPメソッドをサポートするために、
Content-Typeの:メインクラスのエンティティのタイプ
コンテンツエンコーディング:エンコーディングがエンティティボディを適用
コンテンツ言語:自然言語のエンティティボディ
コンテンツ長:バイトエンティティボディの数
コンテンツレンジ:エンティティボディの位置範囲
HTTPステータスコードの意味
200 OKサーバーが要求を正常に処理され、要求されたページを提供しています。
202受理は要求を受け入れているが、プロセスは完了していません。
204コンテンツなしなし新しい文書は、ブラウザは、元の文書を表示するために継続すべきです。
206人の部分コンテンツの顧客が、範囲要求しました。応答メッセージは、Content-レンジエンティティのコンテンツの範囲で指定します。HTTPを実現。
-------------------------------------------------- -------------------------------------------------- -
301は、永久永久リダイレクトを動かし。要求されたページは永久に新しい場所に移動されました。
302(或307) Moved Temporatily 临时性重定向。请求的网页临时移动到新位置。
304 Not Modified 未修改。自从上次请求后,请求的内容未修改过。
-----------------------------------------------------------------------------------------------------
401 Unauthorized 客户试图未经授权访问受密码保护的页面。应答终会包含一个WWW-Authenticate头,浏览器据此显示用户名字/密码对话框,然后再填写合适的Authorization头后再次发出请求。
403 Forbidden 服务器拒绝请求。----------403.6-IP address rejected
404 Not Found 服务器上不存在客户机所请求的资源。
-----------------------------------------------------------------------------------------------------
500 Internal Server Error 服务器遇到一个错误,使其无法为请求提供服务。