NodeJS服务器执行两次?

我试图开发一个基本的HTTP服务器,其代码如下:

var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); }).listen(8888); 

工作正常,页面返回:Hello World

之后,我试着了解NodeJS服务器中的无限循环,并发现:使用此代码时:

 var http = require("http"); var n = 1; http.createServer(function(request, response) { n++; response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); console.log('call: %d', n); response.end(); }).listen(8888); 

并且工作正常的页面返回:Hello World

但看到日志我发现一个奇怪的结果,当页面刷新。 调用:2调用:3基本上每次调用(页面刷新)服务器执行两次,为什么? 这是每次调用运行的线程数量?

尝试添加console.log(request.url); 。 我敢打赌,浏览器也检查favicon.ico也。

不,不要执行2次。 只执行一次。 如果你执行console.log(request.url); 你知道这个。