Firefox正在向我的ASP.Net网站发出重复请求。它将请求一个页面,获得响应,然后立即再次发出相同的请求(好吧,几乎相同 - 见下文)。这发生在这个特定网站的每个页面上(但不是任何其他网站)。 IE不会这样做,但Chrome也会这样做。
我已经确认响应中没有Location标头,并且页面中没有Javascript或meta标签会导致重新请求页面(如果其中任何一个都是真的,IE将重新请求页面同样)。
我已在多台计算机上的多个Firefox安装上确认了此行为。版本各不相同,但都是3.x。
两个请求之间的唯一区别是Accepts标头。对于第一个请求,它看起来像这样:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
对于第二个请求,它看起来像这样:
Accept: */*
所有情况下的Content-Type响应标头是:
Content-Type: text/html; charset=utf-8
其他奇怪的东西 - 即使Firefox请求页面两次,它使用第一个响应并丢弃第二个。我把一个计数器放在一个页面上,该页面随着每个请求递增。我可以看到回复(通过查尔斯代理)。 Firefox将首次获得“1”,第二次获得“2”。但由于某种原因,它会显示“1”。
Chrome表现出完全相同的行为。我怀疑这是一个协议级问题,考虑到Accepts标题的不同,但我以前从未见过这个问题。
答案 0 :(得分:10)
检查您没有任何img
个标记,其中包含空src
属性。
FireFox(显然是Safari和Chrome)会将此解释为对网站的请求,为您提供重复请求。
关于它有一个Mozilla support request,还有一篇很好的文章here讨论了每种浏览器(以及每个版本)在这种情况下的作用。