Вопрос

Я создал простое приложение для просмотра изображений JSF, и у меня возникла проблема с Firefox.

Само приложение работает внутри Tomcat.Изображения хранятся в каталоге, обслуживаемом Apache.У меня есть 9 фотографий, которые отображаются на странице.Серверы находятся на машине отдельно от клиента.Когда я пытаюсь загрузить страницу в Firefox, обычно 6 изображений загружаются почти мгновенно (<500 мс).Загрузка остальных трех займет от 15 до 20 секунд.Глядя на журналы Apache, кажется, что Firefox не запрашивает эти три изображения, пока не пройдут 15-20 секунд - то есть я вижу 6 запросов одновременно, а через 15 секунд - остальные три.Я попробовал сайт в Internet Explorer, и в IE этой проблемы нет;он сразу загружает все 9 изображений.Я попробовал несколько разных машин и получил одинаковые результаты.HTML отображается очень быстро, <200 мс, поэтому я не думаю, что это проблема JSF (тем более, что изображения передаются из Apache).

Цифры тоже не всегда одинаковые — иногда загружается 8 изображений, иногда 7, иногда вторая партия запросов приходит сразу, а иногда загружается еще 2, чем еще одно и т. д.Я не уверен, является ли это настройкой Firefox или ошибкой, или я могу что-нибудь сделать на стороне сервера, но я подумал, что выложу это и посмотрю, есть ли у кого-нибудь идеи, которые я могу попробовать.

Если это поможет, вот строка журнала Apache из Firefox

192.168.1.30 - - [04/Mar/2009:14:25:40 -0500] "GET /work/DSCF0185_thumbnail.jpg HTTP/1.1" 200 7902 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)"

и один из IE

192.168.1.30 - - [04/Mar/2009:14:34:14 -0500] "GET /work/DSCF0179_thumbnail.jpg HTTP/1.1" 304 - "http://192.168.1.83:8080/app/browse.jsf" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322; MS-RTC LM 8; Windows-Media-Player/10.00.00.3990; FDM; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"

РедактироватьТайминги я получил от Firebug — они показывают, что весь запрос составляет (например) 18 секунд, из них 17,9 секунды «получение данных», а остальное занимает очередь.Однако я не вижу фактического запроса в журнале Apache до конца этих 17,9 секунд, что заставляет меня полагать, что это проблема Firefox, тем более что IE не показывает проблему.Если бы проблема была на сервере, я бы ожидал увидеть проблему в обоих браузерах.

Конвейерная обработка в Firefox отключена.

Как уже было указано, мой журнал IE показывает, что он попадает в кеш - моя ошибка, я захватил не ту часть файла журнала.Вот чистая строка журнала — даже после очистки кеша IE не показывает тех же проблем, что и Firefox.

192.168.1.30 - - [04/Mar/2009:15:52:18 -0500] "GET /vantagework/DSCF0189_thumbnail.jpg HTTP/1.1" 200 5805 "http://192.168.1.83:8080/vantage/browse.jsf" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322; MS-RTC LM 8; Windows-Media-Player/10.00.00.3990; FDM; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
Это было полезно?

Решение 3

Оказывается, это было вызвано моей конфигурацией Apache.Были внесены некоторые изменения в настройку, а возврат к стандартной конфигурации Apache устранил проблему.

Другие советы

Используйте консоль Firebug «Net», чтобы проверить, является ли это Firefox или веб-сервером, поскольку вашему веб-серверу может потребоваться время для принятия соединений.

Консоль Firebug «Net» покажет вам, когда он начнет запрашивать что-либо, и предоставит подробное описание различных частей запроса изображения (очередь и т. д. и т. п.) —

Согласно вашим фрагментам журнала, IE извлекает изображение из кеша, Firefox получает его с сервера.Поэтому, если что-то не так с конфигурацией сервера, которая доставляет изображение медленно, вы увидите подобное поведение в IE только в том случае, если сначала очистите кеш, поэтому я бы попробовал это, чтобы убедиться, что некэшированные изображения действительно занимают разные объемы. времени на загрузку между Firefox и IE.

Еще я бы проверил, есть ли у вас трубопровод включен в Firefox.Если да, я бы посоветовал вам отключить его, возможно, это вызывает проблемы на вашем сервере.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top