Pergunta

Eu criei um aplicativo de navegação de imagens JSF simples e estou tendo um problema com o Firefox.

O aplicativo em si está em execução dentro do Tomcat. As fotos são armazenadas em um diretório que é servido pelo Apache. Eu tenho 9 fotos que são mostradas em uma página. Os servidores estão em uma máquina separada do cliente. Quando tento carregar a página no Firefox, geralmente 6 das imagens carregam quase instantaneamente (<500ms). Os outros três levarão entre 15 e 20 segundos para carregar. Olhando para os logs do Apache, parece que o Firefox não está solicitando essas três fotos até que os 15 a 20 segundos se passaram - ou seja, vejo 6 solicitações ao mesmo tempo e 15 segundos depois os outros três. Eu tentei o site no Internet Explorer, e o IE não tem esse problema; Ele carrega todas as 9 fotos imediatamente. Eu tentei algumas máquinas diferentes e tenho os mesmos resultados. O HTML é renderizado muito rapidamente, <200ms, então não acho que esse seja um problema do JSF (especialmente porque as fotos são servidas no Apache).

Os números também nem sempre são os mesmos - às vezes carregam 8 imagens, às vezes 7, às vezes o segundo lote de solicitações chegará de uma só vez, e às vezes carrega mais 2 do que mais um, etc. Não sou Claro se essa é uma configuração do Firefox, ou um bug, ou se houver algo do lado do servidor, eu posso fazer sobre isso, mas pensei que o jogaria lá fora e veria se alguém tem alguma idéia que eu possa tentar.

Se ajudar, aqui está uma linha de log do Apache do 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)"

e um de 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)"

EditarRecebi os horários da Firebug - está mostrando que toda a solicitação é (por exemplo) 18 segundos, com 17,9 segundos "Recuindo dados" e o restante ocupado na fila. Não estou vendo a solicitação real no log do Apache até o final desses 17,9 segundos, o que me leva a acreditar que é uma coisa do Firefox, especialmente porque o IE não mostra o problema. Se estivesse no servidor, eu esperaria ver o problema nos dois navegadores.

Pipelining in Firefox está desligado.

Como foi apontado, meu log do IE mostra que está atingindo o cache - meu erro, pegou a parte errada do arquivo de log. Aqui está uma linha de toras limpas - mesmo após um cache limpo, o IE não mostra os mesmos problemas que o 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)"
Foi útil?

Solução 3

Acontece que isso foi causado pela minha configuração do Apache. Alguns ajustes de ajuste foram feitos e revertendo para a configuração do Apache fora da caixa corrigiu o problema.

Outras dicas

Use o console "net" da Firebug para verificar se é o Firefox ou o servidor da web, pois seu servidor da web pode estar levando a hora de aceitar as conexões.

O console "net" da Firebug mostrará quando começar a solicitar coisas e fornecer uma quebra detalhada das diferentes partes de solicitar a imagem (fila, etc. etc.)-

De acordo com seus trechos de log, o IE está recuperando a imagem do Cache, o Firefox está recebendo do servidor. Portanto, se houver algo errado com a configuração do servidor que está entregando a imagem lentamente, você só verá um comportamento semelhante no ou seja, se você limpar o cache primeiro, então eu tentaria isso para verificar se as imagens não entrelaçadas realmente tomam quantidades diferentes de tempo para baixar entre Firefox e IE.

A outra coisa que eu verificaria é ver se você tem Pipelining ativado no Firefox. Se o fizer, sugiro que você o desative, talvez esteja causando um problema para o seu servidor.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top