HTTP2多重化は同じTCP接続を使用し、同じホストへの接続時間を削除します。HTTP2サーバプッシュと比較して、HTTP2マルチプレクシングで大きなパフォーマンス上の利点はありますか?
しかし、HTTP2サーバープッシュでは、すべてのリソースを要求している間にHTTP2の多重化がかかる往復時間を除いて、大きなパフォーマンス上の利点があります。
HTTP2多重化は同じTCP接続を使用し、同じホストへの接続時間を削除します。HTTP2サーバプッシュと比較して、HTTP2マルチプレクシングで大きなパフォーマンス上の利点はありますか?
しかし、HTTP2サーバープッシュでは、すべてのリソースを要求している間にHTTP2の多重化がかかる往復時間を除いて、大きなパフォーマンス上の利点があります。
ここで尋ねる内容が正確か、それともStackOverflowに適しているのかは分かりませんが、none-the-lessには答えようとします。これがあなたが探している答えでない場合は、あなたが探しているものが正確に理解できるように、質問を言い換えてください。
HTTP/2では多重化が使用されているため、複数の接続(およびそれらを設定および管理するために必要な時間とリソース)の必要はありません。しかしそれは制限されていないので(ブラウザはホストごとに接続数を4〜6に制限します)、接続を共有するための "類似の"接続(同じIPと同じ証明書ですが異なるホスト名)も可能です。基本的には、HTTP/1の要求/応答メソッドが意味するリソースのキューイングを解決し、回避策としてHTTP/1が必要とする制限付き複数接続の必要性を低減します。シャーディング、スプライトファイル、連結などの他の回避策の必要性を減らします。
そして、はいHTTP/2サーバープッシュは1回の往復で保存します。だからあなたがウェブページをリクエストすると、HTMLとCSSの両方を送信します。サーバーがあなたにCSSが必要であることを知っているので、HTMLを送信して、Webブラウザがそれを取得し、解析し、 CSSが必要で、CSSファイルをリクエストしてダウンロードするのを待ちます。
往復時間が非常に短いことを意味している場合、HTTP/2多重化のためにファイルを要求するのに遅延がないため、HTTP/2サーバープッシュではほとんど利益が得られません。 ?そうでない場合は、リソースをプッシュする際に重要な利益があります。特に、ブラウザが画面上に単一のものを描画する前に待つCSSなどのリソースをブロックすることが重要です。多重化は要求の送信の遅延を減少させますが、サーバーへの要求のレイテンシを減らすことはなく、サーバーはそれに応答してそれを戻します。これらは小さく聞こえるが、ウェブサイトをゆっくりと感じさせる。
現在のところ、HTTP/2 Server Pushの主な利点は、そのラウンドトリップ時間を短縮することです(基本的には主要リソースがゼロになります)。
しかし、私たちはこれの初期段階にあり、パフォーマンスやその他の理由で他の用途が考えられます。たとえば、これをコンテンツの優先順位付けの方法として使用すると、重要なイメージが早期にプッシュされる可能性があります。そうしないと、ブラウザがCSSとJavascriptを最初に要求し、後でイメージを残す可能性があります。サーバープッシュは、インラインCSS(スタイルシートのコピーでページを膨張させ、適切なCSSファイルをロードするためにJavascriptが必要な場合があります) - 別のHTTP/1の必要性も否定できます。パフォーマンスのための1つの回避策。私は、HTTP/2 Server Pushの今後の状況を見ていくことは非常に面白いと思う。
HTTP/2サーバープッシュではまだ重大な課題があります。最も重要なことは、ブラウザがすでにキャッシュしているリソースをプッシュすることによって、帯域幅を無駄にしないようにするにはどうすればよいですか?ダイジェストHTTPヘッダーが追加される可能性がありますが、議論の対象です。これは、Webブラウザ、Webサーバ、Web開発者のための最善の方法でHTTP/2 Server Pushを実装する方法を導いていますか? HTTP/2 specは、これを実装する方法を少し曖昧にしています。異なるWebサーバー、特にリソースをプッシュするためにサーバーに信号を送信するさまざまな方法を提供します。
私が言うように、私はHTTP/2の部分の1つで、非常に面白いアプリケーションにつながると思います。私たちは興味深い時間に住んでいます...