HTTPプロトコルの理解のいくつかのバージョン

HTTP(ハイパーテキスト転送プロトコル)、ハイパーテキスト転送プロトコル

Http是一个应用层协议,基于TCP协议(传输层)之上,规定WWW服务器
浏览器之间信息传递规范。使用的默认端口号为80端口。

進化のHTTPバージョン

HTTP 0.9:

最初的版本,只有一个命令GET,服务器只能回应HTML格式字符串。

HTTP 1.0:

発表新しいコマンドPOSTとHEAD(HTTPヘッダデータ)コマンド
データを送信するためにのみ送信要求が完了された各TCP接続を、接続は追加のリソースの要求は、それが再作成新しい接続する必要がある場合でも、閉じている
ヘッダASCIIですコードは、データの後に任意の形式であってもよいです。クライアントは、データがContent-Typeフィールドの役割ということでどのような形式、応答にサーバーに指示します。これらのデータ・タイプをまとめMIME多目的インターネットメール拡張すなわちと呼ばれる、二つのタイプ及び予め定義されたタイプの種類を含む各値は、また、カスタム型、共通の価値観のコンテンツタイプとすることができる:text / xmlで画像/ JPEGオーディオ / mp3

HTTP 1.1:

新しい方法:PUT、PATCH、OPTIONS、DELETE

キープアライブ:持続的接続(持続的接続)を導入、すなわち、デフォルトではTCPコネクションをクローズしない、複数の要求を宣言接​​続せずに多重化することができます。6つのパイプラインのメカニズムを確立しながら、同じドメイン名の場合、ほとんどのブラウザが導入された持続的な接続を許可し、その同じTCP接続、クライアントはさらにHTTPプロトコルの効率を向上させるために、同時に複数の要求を送信することができます

同じTCP接続は、データ通信のすべてが順番に行われます。注文処理サーバが応答、応答が遅いの前に、「チームのヘッド詰まり」(ヘッドオブラインブロッキング)が生じ、多くの要求がキューイングされているが存在することになることができます

第二は、永続的な接続がより開いている間1は、要求の数を減らすことです:、2つのメソッドを上記の問題を回避するために、

実際のHTTP1.1ではまだいくつかの未解決の問題

1.送信データが平文である
2.header長いヘッダデータ
3.各送信または再接続
しない積極的にプッシュ4.server

これはhttp2.0の出現を推進していきます

Http2.0

HTTP2.0はSPDY(HTTPS Google Inc.のプロトコルを開発した)バージョンアップで
1ヘッダとボディは、バイナリヘッダ情報とデータフレームと呼ばれるデータである
TCP 2.多重接続を、接続、クライアントとブラウザが同時にに複数の要求や応答を送信することができ、および「チームのヘッドの目詰まり、」この双方向リアルタイム通信が(多重化)多重化と呼ばれるのを避けるためには対応していない
3.ヘッダ圧縮機構を導入(ヘッダ圧縮)、送信する前に、gzipや圧縮を使用して、ヘッダ圧縮、同時にクライアントとサーバは、テーブルヘッダを維持する、すべてのフィールドは単にインデックス番号を送信し、同じフィールドを送信しない、インデックス番号を生成するために、このテーブルに格納されます速度向上
迷惑4.HTTP / 2のサーバは、クライアントは、すなわち、プッシュサーバ(サーバプッシュ)リソースに送信することができ

インタビューの質問:HTTP1.1とHTTP1.0の違い

1.長い接続
HTTP 1.1サポート長い接続(PersistentConnection)およびTCP接続における要求パイプライン(パイプライン)プロセスは、HTTP要求および応答の複数、およびHTTP1.1に消費及び遅延を低減近い接続の確立を送信してもよいです。デフォルトの接続で有効になって:各要求は接続を作成する必要がありますHTTP1.0の欠点を補うために、キープアライブ
2.キャッシュ取引
で主にヘッダを変更した場合は、-のでHTTP1.0、キャッシュ判決のようにしてください。有効期限内標準、HTTP1.1なエンティティタグなどの複数のキャッシュ制御ポリシーの導入、IF-未修飾-以来 、もしマッチ、IF-なしマッチ、およびヘッド制御キャッシュのキャッシュ戦略のより多くの選択肢
3.帯域幅の最適化使用してネットワーク接続
クライアントのみオブジェクトの一部を必要とし、サーバープットオブジェクト全体がここに取得し、HTTP機能、HTTP1をサポートしていません:HTTP1.0は、のようないくつかの帯域幅の浪費現象があります。十分に解放するために現像剤の選択を容易にするために、すなわち、戻りコード206(部分コンテンツ)は、要求されたリソースのある部分のみを可能にするヘッダヘッダフィールドが導入された範囲の要求、帯域幅および接続
4.エラー通知管理
新しいHTTP1.1ような応答コード、24の状態
409(競合)リソース要求をリソースと衝突の現在の状態を示し;.
410(ゴーン)サーバ上のリソースを表します永久削除
5.Hostヘッダ処理
HTTP1.0バインド各サーバー固有のIPアドレスを判示では、そのため、メッセージ内の要求URLは、ホスト名(ホスト名)を介して取得できませんでした。しかし、仮想メインフレーム技術の発展に伴い、そこに単一の物理サーバ上で複数の仮想ホスト(マルチホームWebサーバー)も、彼らは、単一のIPアドレスを共有することができます。ホストは、エラーレポートヘッダフィールド(400不正な要求)がない場合はHTTP1.1要求メッセージと応答メッセージは、Hostヘッダフィールド、および要求メッセージをサポートする必要があります

おすすめ

転載: www.cnblogs.com/luck-pig/p/12006908.html