Что означает «блокировка» в Firebug Net Panel? - PullRequest
46 голосов
/ 23 марта 2010

Я использую Firebug 1.5.2 и во время тестирования сайта перед производственным выпуском я вижу огромное количество времени, затрачиваемое на «блокирование» частей запросов.

Что именно означает «блокировка»?

Ответы [ 4 ]

29 голосов
/ 24 марта 2010

«Блокировка» ранее (более ранние версии FireBug) называлась «Очередь».Фактически это означает, что запрос находится в очереди и ожидает доступного соединения.Насколько я знаю, количество постоянных подключений по умолчанию ограничено в последних версиях Firefox до 6, IE8 также 6. Ранее он был только 2. Он может быть изменен пользователем в настройках браузера.
Также я знаю, что покаФайл JavaScript загружается, все другие ресурсы (CSS, изображения) заблокированы

5 голосов
/ 23 марта 2010

Блокировка - это термин, используемый для описания события, которое останавливает обработку других событий или кода (в том же потоке).

Например, если вы используете «блокирующие» сокеты, используйте код после запроса сокета.made не будет обрабатываться до тех пор, пока запрос не будет завершен (в том же потоке).

Асинхронные действия (не блокирующие) просто сделают запрос и позволят другому коду выполняться, пока запрос происходит в фоновом режиме.

В вашей ситуации это в основном означает, что определенные части firebug / browser не могут активироваться, пока другие части не будут завершены.Т.е. он ждет загрузки изображения, прежде чем загружать больше.

4 голосов
/ 10 августа 2010

Насколько мне известно, две причины заставляют компоненты блокировать загрузку других.

  1. Принудительное (но обычно настраиваемое) ограничение браузера - сколько параллельных ресурсов может быть загружено с определенного хоста ввремя.
  2. Встроенный JavaScript, который может заставить браузер подождать и посмотреть, нужно ли вообще загружать остальные компоненты (на тот случай, если JavaScript перенаправляет или заменяет содержимое страницы)
1 голос
/ 19 февраля 2017

Это означает «ожидание соединения». Как объяснено в официальной документации Mozilla , «Блокировка» означает «Время, проведенное в очереди в ожидании сетевого подключения».Это может быть связано с тем, что Firefox превысил свой предел внутренних параллельных подключений, как объяснено там и в ответах здесь.

Это также может означать «ожидание, поскольку сервер занят». Одна из возможных причин »Время блокирования отсутствует в официальной документации, указанной выше: это может произойти, когда сервер не может предоставить соединение в тот момент, когда он перегружен.В этом случае запрос на подключение помещается в очередь на сервере до тех пор, пока он не может быть обработан после освобождения рабочего процесса [ source ].

В техническом смысле такое соединениееще не установлен, поскольку запрос ожидает accept() с сервера [ source ].И, возможно, именно поэтому он включен в «Блокирование» Firefox, так как его также можно считать «Время, проведенное в очереди в ожидании сетевого подключения».

(Это поведение не полностью согласовано с Firefox51, хотя: для первого URL-адреса, вызываемого на новой вкладке, время до того, как сервер примет запрос на подключение, вообще не учитывается на вкладке «Время» - только для последующих введенных URL-адресов. Любое из этих двух действий может быть ошибкой,Я не знаю, какой именно.)

...