質問

シンプルなJSF画像閲覧アプリを作成しましたが、Firefoxで問題が発生しています。

アプリ自体はTomcat内で実行されています。写真は、Apacheが提供するディレクトリに保存されます。ページに表示される写真は9枚あります。サーバーは、クライアントとは別のマシン上にあります。 firefoxでページをロードしようとすると、通常6枚の写真がほぼ瞬時にロードされます(<!> lt; 500ms)。他の3つは、ロードに15〜20秒かかります。 Apacheログを見ると、Firefoxは15〜20秒が経過するまでこれら3つの写真を要求していないようです。つまり、同時に6つの要求が表示され、その後15秒後に他の3つが表示されます。 Internet Explorerでこのサイトを試しましたが、IEにはこの問題はありません。 9枚すべての写真をすぐに読み込みます。私はいくつかの異なるマシンを試しましたが、同じ結果が得られました。 htmlは非常に高速にレンダリングされます、<!> lt; 200ミリ秒なので、これはJSFの問題ではないと思います(特に写真はapacheから提供されるため)。

数字も常に同じではありません-時には8個の画像、時には7個の画像が読み込まれ、時には2番目のリクエストのバッチがすべて同時に読み込まれ、時には2個以上の画像が読み込まれます。 「これがFirefoxの設定なのかバグなのか、それともサーバー側で何かできるのかわからないが、それを捨てて誰かに試せるアイデアがあるかどうかを確かめようと思った。 / p>

それが役立つ場合、firefoxからのapacheログ行があります

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の1つ

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秒の<!> quot; recieving data <!> quot;であり、残りはキューイングで処理されることを示しています。しかし、その17.9秒が終わるまでApacheログに実際のリクエストは表示されません。これは、特にIEには問題が表示されないため、Firefoxの問題だと思わせます。サーバーにある場合、両方のブラウザーで問題が発生することが予想されます。

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の<!> quot; Net <!> quot;を使用します。 Webサーバーが接続を受け入れるのに時間がかかる可能性があるため、コンソールがFirefoxかWebサーバーかを確認します。

Firebugの<!> quot; Net <!> quot;コンソールは、物事の要求を開始すると表示され、画像要求のさまざまな部分(キューイングなど)の詳細な内訳を表示します。

ログスニペットによると、IEはキャッシュから画像を取得しており、Firefoxはサーバーから画像を取得しています。したがって、イメージをゆっくり配信しているサーバー構成に何か問題がある場合、最初にキャッシュをクリアした場合にIEで同様の動作が表示されるだけなので、キャッシュされていないイメージが実際に異なる量を取ることを確認しようとしますFirefoxとIEの間でダウンロードする時間。

もう1つ確認するのは、パイプラインがあるかどうかを確認することですFirefoxで有効にします。その場合、無効にすることをお勧めします。サーバーに問題を引き起こしている可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top