3

サーバーが .html ファイルを取得して送信する、通常の静的サイトがあります。

Transfer-Encoding: chunked動的サーバー ページの重要性は理解しています。それが目的で設計されたからです。スピードアップはかなり信じられないほどです。しかし、静的ファイルでも同じ速度向上ですか? ファイルがネットワーク経由で到着すると、ブラウザーは を使用するリクエストですでにプログレッシブにレンダリングおよびフェッチしますか?Content-Length

非常に巨大な HTML (100 ページの範囲のドキュメント) があるので、プログレッシブな HTML 処理が重要になります。(WHATWG がモノリシックな単一ページの HTML5 仕様を提供する方法に似ています。)

4

1 に答える 1

5

簡単な答え: はい、ブラウザーはContent-Lengthヘッダーと共に送信されたコンテンツをプログレッシブにレンダリングします。実際、Content-Lengthヘッダーがある場合、ブラウザはドキュメントの長さを前もって知っているのに対し、ドキュメントを解析してチャンク情報を取得する必要があるため、計算量が少し少なくなります。

ヘッダー (存在するContent-Length場合) は、コンテンツを送信する前に送信する必要があります。したがって、サーバーは、ドキュメントの内容を送信する前に、ドキュメントの長さを認識している必要があります。

動的コンテンツの場合のみ、チャンク エンコーディングの方が高速です。サーバーがヘッダーのみを使用できる場合、Content-Length動的コンテンツの場合、コンテンツを送信する前にドキュメントの生成を完了する必要があります。これにより、クライアントはドキュメントを表示せずに長時間待機する可能性があります。

チャンク エンコーディングは、サーバーがContent-Lengthヘッダーを送信する必要がないようにすることで、これを解決します。

于 2015-05-10T20:16:18.413 に答える