HTTPプロトコル要点まとめ(パケット、リクエスト方式)


一、httpプロトコルとは何ですか.
        w 3 cによって作成されたネットワークアプリケーション層プロトコルは、ブラウザとウェブサーバとの間の通信のプロセスおよび通信時に使用されるデータフォーマットを定義する.        1)通信のプロセス            Step 1,ブラウザはwebサーバとの接続を確立する            Step 2では、ブラウザが要求データをパッケージ化(要求パケットを生成)してwebサーバに送信する.            Step 3では,webサーバが処理結果をパッケージ化(応答パケットを生成)してブラウザに送信する.            Step 4,webサーバは接続を閉じます.        ブラウザがリクエストを再送信する場合は、新しい接続を再確立する必要があります.        特徴:1回のリクエスト、1回の接続.        メリット:    Webサーバは、限られた接続を利用して、できるだけ多くのクライアント(ブラウザ)サービスを提供することができる.        2)データフォーマット
            a,要求パケット
                次のようになります.
POST /web02/hello HTTP/1.1

Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:15.0) Gecko/20100101 Firefox/15.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://localhost:8888/web02/hello_form.html
Content-Type: application/x-www-form-urlencoded
Content-Length: 16

                要求明細:要求方式要求リソースパスプロトコルタイプとバージョン                メッセージヘッダ:                    メッセージヘッダはいくつかのキー値ペアであり、一般的にw 3 cによって定義され、ブラウザとwebサーバの間で送信することができ、特定の意味を表す.例えば、ブラウザは「user-agent」メッセージヘッダを送信し、webサーバブラウザのタイプとバージョンを伝えることができる.                エンティティの内容:                    リクエスト方式がpostの場合にのみ値(リクエストパラメータ)があり、リクエスト方式がgetの場合、リクエストパラメータはリクエストリソースパスの後ろに追加されます.
            b,レスポンスパケット
                次のようになります.
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=utf-8
Content-Length: 30
Date: Thu, 05 Dec 2013 07:16:28 GMT

                ステータスライン:プロトコルタイプとバージョンステータスコードのステータス説明                    b 1、ステータスコードとは                        は、w 3 cによって定義され、サーバが要求を処理する状態を表す3桁の数字である.                    b 2、一般的なステータスコード                        200:  サーバ処理要求は正常です.                        404:  サーバはリクエストパスに基づいて対応するリソースが見つかりません.                        500:  システムエラー、サーバー側のプログラムが実行中にエラーが発生しました.                        405:サーバは要求を処理するために実行可能な方法が見つからない.                         メッセージヘッダ:                     サーバは、「content-type」などのメッセージヘッダをブラウザに送信して、サーバが返すデータ型と符号化フォーマット(文字セット)をブラウザに伝えることもできます.                エンティティの内容:                    プログラム処理の結果、ブラウザはエンティティコンテンツのデータを取り出し、対応するページを生成します.
二、請求方式
        1)ブラウザがgetリクエストを送信する場合            a,ブラウザアドレスバーに直接アドレスを入力する            b、リンクをクリック            c,フォームはデフォルトのコミット方式を用いる        2)getリクエストの特徴            aは、要求パラメータを要求リソースパスの後ろに配置し、少量のデータしか提出できない(要求行は最大2 k程度のデータしか保存できないため).            b、要求パラメータがブラウザのアドレスバーに表示され、安全ではありません(ルータは要求アドレスを記録します).        3)ブラウザがpostリクエストを送信する場合            フォームのmethodプロパティ値をpostに設定        4)postリクエストの特徴            aは,要求パラメータをエンティティコンテンツに格納し,大量のデータをコミットできる.            b,要求パラメータはブラウザアドレスバーに表示されず,比較的安全である(ブラウザは暗号化されていない).        getでもpostでもリクエストパラメータは暗号化されないので、機密データであれば暗号化処理(https)が一般的です.