我已经创建了一个简单的JSF图片浏览应用程序,并且我遇到了Firefox的问题。Firefox请求图片缓慢
该应用程序本身在Tomcat中运行。这些图片存储在由Apache提供的目录中。我有9张图片在网页上显示。服务器位于与客户端分开的机器上。当我尝试在Firefox中加载页面时,通常6张图片会立即加载(< 500毫秒)。其他三个将需要15至20秒加载。看看apache日志,看起来firefox并没有要求这三张图片,直到15-20秒过去 - 也就是说,我看到6个请求在同一时间,然后15秒后,其他三个。我已经在Internet Explorer中尝试了该网站,而IE没有这个问题;它立即加载所有9张照片。我尝试了几种不同的机器,并获得相同的结果。 html很快渲染,< 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)"
编辑 我从萤火虫的时机 - 这表明整个请求(例如)18秒,“接收数据”的时间为17.9秒,其余的则排队等候。直到17.9秒结束,我没有看到Apache日志中的实际请求,这导致我相信这是一个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)"