PHP は BigPipe チャンク出力を実装します_PHP チュートリアル
Yahoo システムのベスト プラクティスでは、ブラウザがスクリプト、スタイル、画像 (JavaScript、CSS、画像は通常、チェーンの形式で外部にあります)など、バックグラウンドで呼び出す必要があるデータ ソースまたは API が複数ある場合は、1 つの出力を 1 つずつ完了し、フロントエンドでページを組み立てるようにします。 js を使用して、ユーザー エクスペリエンスを最適化する効果を実現します。ユーザーが待つ時間は、最も短いバレルを備えた高速の木製ボードです。
引用は次のとおりです:
バッファを早めにフラッシュします
タグ: サーバー
ユーザーがページをリクエストすると、バックエンド サーバーが HTML ページを結合するのに 200 ~ 500 ミリ秒かかることがあります。この間、ブラウザはデータの到着を待機するためアイドル状態になります。PHP には、flush() という関数があります。 ) これにより、部分的に準備ができた HTML 応答をブラウザーに送信できるようになり、バックエンドが HTML ページの残りの処理でビジー状態になっている間に、ブラウザーがコンポーネントの取得を開始できるようになります。この利点は、主にビジーなバックエンドまたは軽量のフロントエンドで見られます。
フラッシュを検討するのに適した場所は、HEAD の直後です。通常、HEAD の HTML の生成が簡単で、バックエンドの処理中にブラウザーが並行してフェッチを開始できるように CSS および JavaScript ファイルを含めることができるからです。
例:
...
...
Facebook が提案した BigPipe テクノロジは、このアイデアをより具体的な方法で実装しています。一般的なアイデアは、Web ページをページレットと呼ばれる小さな部分に分解し、Web サーバーとブラウザを介してパイプラインを確立して、さまざまな段階でその操作を管理するというものです。
php で小さなテストを実行します
';ob_flush();flush();sleep(2);echo "b";?>
結果は、出力コンテンツのサイズに関係なく、Firefox と Chrome では 2 秒後に表示されます。説明 ブラウザはそれをキャッシュしました。実験の結果、キャッシュ サイズは 1024 で、これもブラウザによって行われた最適化です。返信ヘッダーから、セグメントで出力する場合、返信パケットは gzip を経由しないことがわかります。
Wireshark を通して、バックグラウンド出力が実際に 1 つずつチャンク化されていることがわかります。おそらくブラウザーが処理を行っているようです。キャッシュ サイズは 1024B または MTU サイズ (ネットワークの状況に応じて 1400B 以上) である必要があります。 ) 出力の最初の段落は 1024 に増加し、Chrome と Firefox は正常に動作し始め、最初の段落がダウンロードされた後、ページ内の js、css、および画像の読み込みが開始されました。
考えるべき質問:
1. 伝送効率。1 つの伝送でできるだけ多くのものを伝送するようにし、MTU サイズに応じて調整します。
2. 同期ロード: 最初に送信されるものは、可能な限り同期してロードされる必要があります。JavaScript によってロードされるブロックを考慮する必要があります。すぐに実行する必要はありません。defer を追加するか、単にコメントアウトして、eval が入る前にページが完了するのを待つことができます。
3. 適用範囲 各テクノロジーには独自の適用シナリオがあり、たとえば、ソーシャル ネットワーキング Web サイトや検索など、約 100 ミリ秒で表示されるアプリケーションに適しています。純粋に楽しむためだけにテクノロジーを使用するのは意味がありません。適切な、類似したものを組み合わせるのが最適です。
4. ob_flush と flash は組み合わせて使用するのが最適です。場合によっては、flush が効果を発揮しません。
参考:
http://www.BkJia.com/kf/201202/118114.html
http://developer.yahoo.com/performance/rules.html#flush
http://www.BkJia.com/kf/201202/118116.html
http://www.BkJia.com/kf/201202/118117.html
http://baike.baidu.com/view/4601904.htm
http://www.BkJia.com/kf/201202/118118.html
http://www.bkjia.com/PHPjc/478421.html
www.bkjia.com

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
