Domanda

Ho creato una semplice app di navigazione delle immagini JSF e sto riscontrando un problema con Firefox.

L'app stessa è in esecuzione all'interno di Tomcat. Le immagini sono memorizzate in una directory servita da Apache. Ho 9 foto che vengono mostrate su una pagina. I server si trovano su una macchina separata dal client. Quando provo a caricare la pagina in Firefox, di solito 6 delle immagini si caricano quasi all'istante (& Lt; 500ms). Gli altri tre impiegheranno tra 15 e 20 secondi per caricare. Guardando i log di Apache, sembra che Firefox non stia richiedendo queste tre immagini fino a quando non sono trascorsi i 15-20 secondi - ovvero, vedo 6 richieste contemporaneamente, quindi 15 secondi dopo le altre tre. Ho provato il sito in Internet Explorer e IE non ha questo problema; carica tutte e 9 le foto immediatamente. Ho provato alcune macchine diverse e ho gli stessi risultati. L'html viene reso molto rapidamente, & Lt; 200 ms, quindi non penso che questo sia un problema di JSF (soprattutto perché le immagini sono servite da apache).

Anche i numeri non sono sempre gli stessi - a volte caricheranno 8 immagini, a volte 7, a volte il secondo gruppo di richieste arriverà contemporaneamente, a volte ne caricherà altre 2, più di una, ecc. I non sono sicuro se si tratta di un'impostazione firefox, o di un bug, o se c'è qualcosa sul lato server che posso fare al riguardo, ma ho pensato di buttarlo lì fuori e vedere se qualcuno ha qualche idea che posso provare.

Se aiuta, ecco una linea di log di Apache da 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 uno da 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)"

Modifica Ho ottenuto i tempi da Firebug - sta mostrando che l'intera richiesta è (per esempio) 18 secondi, con 17,9 secondi & Quot; ricezione dei dati & Quot; e il resto occupato in coda. Tuttavia, non vedo la richiesta effettiva nel registro di Apache fino alla fine di quei 17,9 secondi, il che mi porta a credere che sia una cosa di Firefox, specialmente perché IE non mostra il problema. Se fosse nel server, mi aspetterei di vedere il problema in entrambi i browser.

Il pipelining in firefox è disattivato.

Come è stato sottolineato, il mio registro IE mostra che sta colpendo la cache - il mio errore, ha afferrato la parte sbagliata del file di registro. Ecco una linea di registro pulita: anche dopo una cache deselezionata, IE non mostra gli stessi problemi di 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)"
È stato utile?

Soluzione 3

Si scopre che ciò è stato causato dalla mia configurazione di Apache. Sono state apportate alcune modifiche all'ottimizzazione e il ripristino della configurazione apache out of the box ha risolto il problema.

Altri suggerimenti

Usa il " di Firebug; Net " console per verificare se si tratta di Firefox, o del server Web, poiché il server Web potrebbe impiegare del tempo per accettare le connessioni.

Quot di Firebug; Net " console ti mostrerà quando inizia a richiedere le cose e ti fornirà una suddivisione dettagliata delle diverse parti della richiesta dell'immagine (accodamento, ecc.) -

In base ai frammenti di registro, Internet Explorer sta recuperando l'immagine dalla cache, Firefox la sta ottenendo dal server. Quindi, se c'è qualcosa di sbagliato nella configurazione del server che consegna l'immagine lentamente, vedrai un comportamento simile in IE solo se cancelli prima la cache, quindi proverei a verificare che le immagini non memorizzate nella cache assumano effettivamente quantità diverse di tempo per il download tra Firefox e IE.

L'altra cosa che vorrei controllare è vedere se hai pipelining abilitato in Firefox. Se lo fai, ti suggerirei di disabilitarlo, forse potrebbe causare un problema al tuo server.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top