Webページにおける分割送信とレンダリングの詳細説明

WBOY
リリース: 2024-03-14 10:50:11
転載
508 人が閲覧しました

Webページにおける分割送信とレンダリングの詳細説明

最近この知識を知ったので、情報を探してまとめてみました

分割転送とは何ですか?

http ヘッダーが導入された場合。このヘッダーは、エンティティがチャンク エンコーディングを使用して送信されることを示します。チャンク エンコーディングでは、送信のためにエンティティをチャンクに分割でき、チャンク エンコーディング内の各コンテンツは長さを自己識別します。これにより、Web 開発者は、複数のデータが必要で、複数のデータが返されるのが遅い場合に手がかりが得られます。処理後に 1 つの部分を返すことができるため、ブラウザーはできるだけ早く HTML を受信して​​最初にレンダリングできます。

セグメントで送信するにはどうすればよいですか?

Web ページを 1 つずつ送信できることがわかったので、Web ページを変更し、必要なデータをまとめて取得し、待たずにまとめてレンダリングできます。テンプレートも自然に処理する必要があります。サーバーはテンプレートを取得して一緒にレンダリングできます

最終的に、合計処理時間は変わらないことがわかりますが、セグメント化された出力 Web ページを使用すると、HTML の一部をできるだけ早くクライアントにレンダリングできるため、ユーザーは到着した部分を使用できるようになります。初め。一方で、ページへのフィードバックを早期に行うことで、待ち時間中のユーザーの不安を軽減することもできます。

要約すると、この最適化方法を使用すると、Web ページのレンダリング速度を高速化できます。

セグメント化された送信に適用可能なシナリオ

1. ページのバックエンド処理に時間がかかる場合は、セグメント化された送信を使用してみてください。パーツをレンダリングしてから、そのパーツをクライアントに送信できます。合計時間は同じですが、ブラウザはすべてを送信しているため、完了するまで待機状態はありません。できるだけ早くレンダリングして、ユーザーにフィードバックを提供できます。

2. バックエンドがレンダリングされたデータを処理するとき、上の部分は速く、下の部分は遅くなります (上記の速い部分を最初にレンダリングすることもできます)

ビッグパイプ

最も遅い部分を一番下に置いて、それを渡します。そこで、js バックフィルを使用するという読み込みのアイデアがあり、バックエンドは最初に高速なテンプレートをレンダリングし、次に低速なテンプレートをレンダリングできます。ページ上のすべてのブロックを空にして、それらを並行してレンダリングできます。より速い人が最初にバックフィル JS をレンダリングします。このようにして、並列かつ先着順のレンダリングを実現できます。

ビッグパイプの適用可能なシナリオ

1 バックエンドのデータ処理が遅く、ページがブロックされています。最も遅い部分は Web ページの最後ではありません。 (最も遅い部分をバックフィルに変えることができます)
2. 並行して処理する必要があるデータがバックエンドに複数ある場合 (どの部分が最初に返されるかわからないため、最初にシェルフをレンダリングします。並列リクエストの場合、最初に返されたデータがフラッシュされ、最初に埋め戻されます)

以上がWebページにおける分割送信とレンダリングの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:linuxprobe.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!