Node.js 为什么我从NodeJS得到这个输出?

Node.js 为什么我从NodeJS得到这个输出?,node.js,Node.js,下面是我的NodeJS程序 var http = require("http"); var x = 0; http.createServer(function(request, response){ response.writeHead(200); console.log("x = " + x); x += 1; response.write("Hello Michael. This page has been requested [" + x + "] time

下面是我的NodeJS程序

var http = require("http");
var x = 0;
http.createServer(function(request, response){
    response.writeHead(200);
    console.log("x = " + x);
    x += 1;
    response.write("Hello Michael. This page has been requested [" + x + "] times!");
    response.end();
}).listen(8080);
当我第一次在浏览器中点击应用程序时,浏览器的输出为: 你好,迈克尔。此页面已被请求[1]次

但是,在控制台(即cmd.exe)中,我看到:

x=0
x=1

如果重新加载浏览器,我会看到: 你好,迈克尔。此页面已被请求[3]次

控制台现在输出:

x=2
x=3


为什么处理HTTP请求的函数会执行两次?我的预期输出将是看到浏览器中显示的数字与控制台中的值匹配。

检查
请求.url
,您将看到其中一个用于
/favicon.ico
,另一个是实际请求。

检查
请求.url
,您将看到其中一个用于
/favicon.ico
,另一个是实际请求。

您是正确的。谢谢。你说得对。谢谢。