Frage

Ich habe eine einfache JSF -Image -Browser -App erstellt und habe ein Problem mit Firefox.

Die App selbst läuft in Tomcat. Die Bilder werden in einem Verzeichnis gespeichert, das von Apache bedient wird. Ich habe 9 Bilder, die auf einer Seite gezeigt werden. Die Server befinden sich auf einer Maschine, die vom Client getrennt ist. Wenn ich versuche, die Seite in Firefox zu laden, werden normalerweise 6 der Bilder fast sofort geladen (<500 ms). Die anderen drei dauern zwischen 15 und 20 Sekunden. Wenn man sich die Apache -Protokolle ansieht, scheint es, als ob Firefox diese drei Bilder nicht anfordert, bis die 15-20 Sekunden vergangen sind - das heißt, ich sehe 6 Anfragen gleichzeitig, dann 15 Sekunden später die anderen drei. Ich habe die Website im Internet Explorer ausprobiert, und der IE hat dieses Problem nicht. Es lädt alle 9 Bilder sofort. Ich habe ein paar verschiedene Maschinen ausprobiert und habe die gleichen Ergebnisse. Die HTML wird sehr schnell, <200 ms, rendern, daher denke ich nicht, dass dies ein JSF -Problem ist (zumal die Bilder von Apache bedient werden).

Die Zahlen sind auch nicht immer gleich - manchmal lädt es 8 Bilder, manchmal 7, manchmal die zweite Charge von Anfragen auf einmal und manchmal lädt sie 2 mehr als eins mehr usw. Ich bin nicht Sicher, wenn es sich um eine Firefox -Einstellung oder ein Fehler handelt oder wenn es etwas Serverseite gibt, kann ich dagegen tun, aber ich dachte, ich würde es dort rauswerfen und sehen, ob jemand Ideen hat, die ich versuchen kann.

Wenn es hilft, finden Sie hier eine Apache -Protokollzeile von 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)"

und einer von 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)"

BearbeitenIch habe das Timings von Firebug erhalten - es zeigt, dass die gesamte Anfrage (zum Beispiel) 18 Sekunden mit 17,9 Sekunden "Erhalt von Daten" und der Rest in der Warteschlange aufgenommen wurde. Ich sehe die tatsächliche Anfrage im Apache -Protokoll erst am Ende dieser 17,9 Sekunden, was mich zu der Meinung ist, dass es eine Firefox -Sache ist, zumal IE das Problem nicht zeigt. Wenn es auf dem Server wäre, würde ich das Problem in beiden Browsern erwarten.

Das Pipelining in Firefox ist ausgeschaltet.

Wie ausgedrückt wurde, zeigt mein IE -Protokoll auf den Cache - mein Fehler, ergriff den falschen Teil der Protokolldatei. Hier ist eine saubere Protokolllinie - auch nach einem gelöschten Cache zeigt der IE nicht die gleichen Probleme wie 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)"
War es hilfreich?

Lösung 3

Es stellt sich heraus, dass dies durch meine Apache -Konfiguration verursacht wurde. Es wurden einige Tuning -Anpassungen vorgenommen, und die Rückkehr auf die von der Box -Apache -Konfiguration revers das Problem.

Andere Tipps

Verwenden Sie die "Net" -Konsole von Firebug, um zu prüfen, ob es sich um Firefox oder den Webserver handelt, da Ihr Webserver möglicherweise die Zeit nimmt, die Verbindungen zu akzeptieren.

Firebugs "Net" -Konsole zeigt Ihnen, wann sie anfordern, und geben Ihnen eine detaillierte Aufschlüsselung der verschiedenen Teile der Anforderung des Bildes (Warteschlange usw. usw.)-

Laut Ihren Protokollausschnitten ruft der IE das Bild von Cache ab, Firefox erhält es vom Server. Wenn also die Serverkonfiguration, die das Bild langsam liefert Zeit zum Herunterladen zwischen Firefox und IE.

Das andere, was ich überprüfen würde, ist zu sehen, ob Sie haben Pipelining in Firefox aktiviert. Wenn Sie dies tun, würde ich vorschlagen, dass Sie es deaktivieren, es verursacht möglicherweise ein Problem für Ihren Server.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top