我是服务器和节点的新手。我创建了一个非常基本的httpserver并尝试在控制台上打印连接数。以下是相同
的代码var count = 0;
var http = require("http");
var server = http.createServer(function(request,response){
response.writeHead(200, {"Content-Type": "text/html"});
count++;
console.log('Count' + count);
response.end(count + '');
});
server.listen(8080);
console.log("Server is listening");
在三个连接计数值增加到6之后。请让我知道为什么每个http请求增加2个计数
答案 0 :(得分:3)
您的浏览器可能会请求其他网址,例如favicon.ico,这是很多浏览器会做的事情,以便找到一个可以显示为网站代表的小图标。
为了防范这种情况,您可以检查request.url
是否有特定路径,只有在路径符合您的预期时才应用您的逻辑。
这是你可以做到的一种方式:
var count = 0;
var http = require("http");
var server = http.createServer(function(request,response){
if (request.url === "/") {
response.writeHead(200, {"Content-Type": "text/html"});
count++;
console.log('Count' + count);
response.end(count + '');
} else {
response.writeHead(404, {"Content-Type": "text/html"});
response.write("Content not found");
response.end();
}
});
server.listen(8080);
console.log("Server is listening");