我创建了一个简单的JSF图像浏览应用程序,我遇到了firefox的问题。

应用程序本身在Tomcat中运行。图片存储在Apache提供的目录中。我有9张照片在页面上显示。服务器位于与客户端分开的计算机上。当我尝试在firefox中加载页面时,通常会有6张图片几乎立即加载(<!> lt; 500ms)。其他三个需要15到20秒才能加载。看看apache日志,似乎firefox在15-20秒之前没有请求这三张图片 - 也就是说,我同时看到6个请求,然后15秒后其他三个请求。我在Internet Explorer中尝试过该网站,IE没有这个问题;它会立即加载所有9张照片。我尝试了几台不同的机器,并得到了相同的结果。 html渲染速度非常快,<!> lt; 200ms,所以我不认为这是一个JSF问题(特别是因为图片是从apache提供的)。

数字并不总是相同 - 有时它会加载8张图片,有时会加载7张图片,有时第二批请求会同时出现,有时会加载2张,而不是一张,等等。我不确定这是一个firefox设置,还是一个bug,或者如果有任何服务器方面我可以做些什么,但我想我会把它扔出去,看看是否有人有任何想法我可以尝试。

如果有帮助,这是来自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中的一个

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 <!>”;控制台检查它是火狐还是网络服务器,因为您的网络服务器可能需要花时间接受连接。

Firebug的<!>“Net <!>”;控制台会在它开始请求时向您显示,并详细分析请求图像的不同部分(排队等) -

根据你的日志片段,IE正在从缓存中检索图像,Firefox正从服务器获取它。因此,如果缓慢传送图像的服务器配置出现问题,如果先清除缓存,则只会在IE中看到类似的行为,因此我会尝试验证非缓存图像确实采用不同的数量在Firefox和IE之间下载的时间。

我要检查的另一件事是看你是否有流水线在Firefox中启用。如果你这样做,我建议你禁用它,它可能会导致你的服务器出现问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top