好吧,这很奇怪。Firefox发出两个HTTP请求
如果我向一个页面发送请求,它是text/html,firefox发出一个请求。
如果我向某个页面发出请求,它是application/xml,那么firefox会发出两个请求。
在IE浏览器中,谷歌Chrome浏览器在两种情况下都成为一款。
任何想法,为什么这两个请求,以及我如何才能强制一个?
好吧,这很奇怪。Firefox发出两个HTTP请求
如果我向一个页面发送请求,它是text/html,firefox发出一个请求。
如果我向某个页面发出请求,它是application/xml,那么firefox会发出两个请求。
在IE浏览器中,谷歌Chrome浏览器在两种情况下都成为一款。
任何想法,为什么这两个请求,以及我如何才能强制一个?
如果页面的编码与<meta>
标记不匹配,我遇到过类似的问题。如果页面使用默认的Windows编码进行编码,但meta标签指定的是UTF-8,那么firefox一旦到达非ASCII字符(例如,æ或ø)就会停止下载,并且它会从头开始重新下载页面。由于服务器端脚本会运行两次,这会弄乱查看计数和许多其他逻辑。
这可能是因为如果你没有用<?xml ?>
开始你的页面,但声称它是,那么Firefox会以html(text/html)的形式再次下载页面并将其作为html处理。
发现问题。
我返回XML数据包具有的<feed>
根节点火狐通过这个两次出于某种原因,也许因为它试图确定这是否是一个有效的ATOM/RSS提要。如果没有,只需要显示?
将根节点更改为其他内容解决了问题。
感谢Marcus让我走向正确的方向。
也许您正在以使HTTP Access Control功能触发的方式提出请求?
这是一个相当新的标准,在[FF3.5] [2]中可能会导致双重GET请求。
如果您可以嗅探请求服务器端:查看它们是否包含Origin:
标头。
[2]:https://developer.mozilla.org/En/Server-Side_Access_Control服务器端访问控制
在我的情况,这是一个错误的内容类型报头“图像/ JPG”用PHP生成的图像发送。双请求离开之后,我改变了类型为“图像/ JPEG”
有关此错误的更多信息... https://bugzilla.mozilla.org/show_bug.cgi?id=236858
我想补充另一种可能性......
如果HTML代码中包含的清空img src属性,然后在Firefox和Chrome中导致2个http请求。目前,那些遵循标准的字母表示空白URI引用是指绝对基本URI。
我也遇到过这个问题,我已经想通了.THIS可能与不存在的favicon.ico有关。详细信息here,您可以使用以下代码(节点。JS),:
var http = require('http');
server = http.createServer(function (req,res){
console.log(req.url);
res.writeHeader(200,{"Content-Type":"text/html"});
res.end("Hello World");
})
server.listen(8000);
console.log("httpd start @8000");
结果预计:
httpd start @8000
/
/favicon.ico
我已经与Firefox类似的问题。可能帮助某人。 FF做了两个HTTP GET请求,而Chrome没有。
问题是空的src=""
属性。 Firefox将img/script ...这样的空白属性标记视为当前url并获取当前页面。
示例代码plllllllzzzzzzzz – Jason 2009-12-14 22:24:13
我在计算机上的防病毒套件引起此问题时曾遇到问题。我们花了很长时间调试它,试图找出IE为什么每次发送两个请求时,其他浏览器都没有。我知道你的情况是Firefox,但它仍然值得一试。 – jalf 2009-12-14 22:28:16
@PiPeep,该queston是关于一个OGG视频文件,答案是专门关于在视频文件中寻找。这是一个html文件。 Firefox不需要在html文件中“查找”,因此这个问题不能被认为是重复的。 – Marius 2009-12-14 22:49:20