46

私は Firebug 1.5.2 を使用しています。本番リリースの前にサイトをテストしているときに、リクエストの「ブロック」部分に膨大な時間が費やされていることがわかります。

「ブロッキング」とは正確には何を意味するのでしょうか?

4

4 に答える 4

29

以前 (FireBug の以前のバージョン) の「ブロッキング」は「キューイング」と呼ばれていました。実際には、リクエストが利用可能な接続を待っているキューに入っていることを意味します。私の知る限り、デフォルトでの永続的な接続の数は、Firefox の最後のバージョンでは 6 に制限されています。IE8 も 6 に制限されています。以前は 2 だけでした。ブラウザの設定でユーザーが変更できます。
また、JavaScriptファイルのロード中に、他のすべてのリソース(css、画像)がブロックされることを知っています

于 2010-03-24T12:31:44.780 に答える
5

ブロッキングは、(同じスレッド内で) 他のイベントまたはコードの処理を停止するイベントを表すために使用される用語です。

たとえば、「ブロッキング」ソケットを使用する場合、ソケット要求が行われた後のコードは、要求が完了するまで (同じスレッド内で) 処理されません。

非同期アクティビティ (非ブロッキング) は、単にリクエストを作成し、リクエストがバックグラウンドで発生している間、他のコードを実行させます。

あなたの状況では、基本的に、他の部分が完了するまでfirebug /ブラウザの特定の部分がアクティブにならないことを意味します。つまり、さらにダウンロードする前に画像がダウンロードされるのを待っています。

于 2010-03-23T09:04:39.580 に答える
4

私の知る限り、コンポーネントが他のコンポーネントの読み込みをブロックする原因は 2 つあります。

  1. 特定のホストから一度にロードできる並列リソースの数に対するブラウザの強制 (ただし通常は構成可能) の制限。
  2. インライン JavaScript。これにより、ブラウザーが待機し、残りのコンポーネントのダウンロードを続行する必要があるかどうかを確認できます (JavaScript がページのコンテンツをリダイレクトまたは置換する場合に備えて)
于 2010-08-09T21:23:22.063 に答える