我正在学习Node.js
,我创建了这个简单的http
服务器。
var http = require('http');
var server = http.createServer(function(req,res){
console.log('request accepted');
res.end();
});
server.listen(3000,function(){
console.log("Server listening on port #3000");
});
工作正常但是当我访问http://localhost:3000/
时,控制台会将request accepted
事件记录两次。简而言之,如果我理解正确,请求会被收到两次。
这是正确的行为还是我在这里做错了什么?
答案 0 :(得分:6)
您的浏览器发出两个HTTP请求。一个用于/
的页面,另一个用于/favicon.ico
。
您可以通过检查req.url
来证明这一点。
答案 1 :(得分:0)
您可以尝试将您的favicon设置为data64字符串,这样您就可以保存该请求,无论如何,某些浏览器无论如何都可以提出该请求。