Dea*_*ane 4 asp.net firefox http http-headers mime-types
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
Run Code Online (Sandbox Code Playgroud)
对于第二个请求,它看起来像这样:
Accept: */*
Run Code Online (Sandbox Code Playgroud)
在所有情况下,Content-Type响应头是:
Content-Type: text/html; charset=utf-8
Run Code Online (Sandbox Code Playgroud)
其他奇怪的东西 - 即使Firefox请求页面两次,它使用第一个响应并丢弃第二个响应.我把一个计数器放在一个页面上,该页面随着每个请求递增.我可以看到回复(通过查尔斯代理).Firefox将首次获得"1",第二次获得"2".但由于某种原因,它会显示"1".
Chrome表现出完全相同的行为.考虑到Accepts标题的不同,我怀疑这是一个协议级问题,但我以前从未见过这个问题.
adr*_*nks 10
检查您没有任何img带有空src属性的标签.
FireFox(显然是Safari和Chrome)会将此解释为对网站的请求,为您提供重复请求.
有关于它的Mozilla支持请求,这里有一篇很好的文章讨论了每种浏览器(以及每个版本)在这种情况下的作用.