ホームページ > よくある問題 > http2.0とhttp1.1の違い

http2.0とhttp1.1の違い

(*-*)浩
リリース: 2019-06-15 18:03:20
オリジナル
8422 人が閲覧しました

HTTP 2.0 とは?

HTTP/2 (ハイパーテキスト転送プロトコル バージョン 2、当初の名前は HTTP 2.0) は、HTTP プロトコルの 2 番目のメジャー バージョンです。世界中で使用されています。ワイドウェブ。 HTTP/2 は、1999 年の HTTP 1.1 のリリース以来、HTTP プロトコルの最初のアップデートです。これは主に SPDY プロトコル (ネットワーク遅延を最小限に抑え、ネットワーク速度を向上させ、最適化するために Google によって開発された TCP ベースのアプリケーション層プロトコル) に基づいています。ユーザーのネットワーク使用量、経験)。

http2.0とhttp1.1の違い

HTTP 1.1 と比較した主な違いは次のとおりです。

HTTP/2 はテキスト形式ではなくバイナリ形式を使用します

HTTP/2 は完全に多重化されており、順序付けやブロック化は行われていません - 並列処理に必要な接続は 1 つだけです

ヘッダー圧縮を使用することで、HTTP/2 はオーバーヘッドを削減します

HTTP/2 では、サーバーが応答をクライアント キャッシュに積極的に「プッシュ」するためのオプションです。

推奨コース: PHP チュートリアル

なぜ HTTP/2 はバイナリなのでしょうか?

HTTP/1.x などのテキスト プロトコルと比較して、バイナリ プロトコルは解析効率が高く、「オンライン」がよりコンパクトで、さらに重要なことに、エラーが少ないです。

なぜ HTTP/2 には多重化が必要なのですか?

HTTP/1.x には、行頭ブロックと呼ばれる問題があります。接続は一度に 1 つのリクエストのみを送信する方が効率的ですが、リクエストの数が増えると速度が遅くなります。 HTTP/1.1 はこの問題を解決するためにパイプラインを使用しようとしましたが、その効果は理想的ではありませんでした (データ量が多かったり、応答が遅かったりすると、その背後にあるリクエストが妨げられます)。また、ネットワーク メディア (仲介) やサーバーがサポートできないため、パイプラインが適切であるため、デプロイメントが困難になります。多重化は、複数のメッセージの要求と応答を同時に処理でき、送信プロセス中に 1 つのメッセージを別のメッセージと混合することもできるため、これらの問題を非常にうまく解決できます。したがって、クライアントはページをロードするために 1 つの接続のみを必要とします。

なぜメッセージ ヘッダーを圧縮する必要があるのですか?

ページに読み込むリソースが 80 個あると仮定します (この数は今日の Web では非常に控えめです)。各リクエストには 1400 バイトのメッセージ ヘッダーがあり (Cookie と参照の存在により、これも珍しいことではありません)、これらのメッセージ ヘッダーを取得するには、「オンライン」で少なくとも 7 ~ 8 回の往復が必要です。これには応答時間は含まれません。これは、クライアントから応答を返すのにかかる時間だけです。これはすべて、既知のパケットの数に基づいて、どのパケットをフェッチするかを決定する TCP のスロースタート メカニズムによるものです。これにより、最初の数往復で送信できるパケットの数が明らかに制限されます。対照的に、ヘッダーをわずかに圧縮するだけでも、それらのリクエストを 1 往復 (場合によっては 1 パケット) だけで処理できるようになります。このオーバーヘッドは、特にモバイル クライアント アプリケーションを考慮した場合に節約できます。モバイル クライアント アプリケーションでは、良好な条件下でも通常、数百ミリ秒の往復遅延が発生します。

サーバープッシュの利点は何ですか?

ブラウザが Web ページをリクエストすると、サーバーは HTML を送り返します。サーバーが JavaScript、画像、CSS の送信を開始する前に、サーバーはブラウザが Web ページを解析するのを待つ必要があります。 HTML を使用してすべてのインライン リソース リクエストを送信します。サーバー プッシュ サービスは、クライアントが必要と考えるコンテンツをクライアントのキャッシュに「プッシュ」することで、ラウンドトリップの遅延を回避します。

以上がhttp2.0とhttp1.1の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート