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); 你知道这个。