伙计我是节点js的新手,这种行为对我来说很奇怪! 在下面的代码段中,
'use strict';
var http = require('http');
var numberOfRequests = 0;
http.createServer(function (request, responce) {
console.log('Request number ' + numberOfRequests + ' received!');
responce.writeHead(200);
responce.write("Here is responce to your request..");
responce.end();
numberOfRequests++;
}
).listen(8080);
console.log('listening ...');
每个
localhost:8080
在Chrome上打电话,应用程序在控制台上写了两次? E.I
对于单个8080呼叫,它打印出来:
Request number 0 received!
Request number 1 received!
我正在使用Visual Studio来运行这个节点js app。
答案 0 :(得分:2)
通常,当您看到针对每个页面请求的两个请求时,一个用于所需页面,一个用于网站的favicon。这是大多数浏览器所做的事情,除非页面中有元标记告诉浏览器不要请求favicon资源。如果你在你的处理程序中执行此操作:
console.log(request.url)
这可能会告诉你发生了什么。通常,您不希望拥有一个Web服务器,您从不查看所请求的资源。如果您将逻辑基于所请求的特定资源(例如/
),那么您可以轻松地忽略其他类型的请求,例如favicon。