我是第一次接触node 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上调用,应用程序在控制台上写入两次??例如,对于单个8080调用,它会打印输出:
Request number 0 received!
Request number 1 received!
我正在使用Visual Studio运行此节点js应用程序。
2条答案
按热度按时间qojgxg4l1#
通常,当你看到每个页面有两个请求时,一个请求所需页面,另一个请求网站的favicon。这是大多数浏览器的做法,除非页面中有 meta标记告诉浏览器不要请求favicon资源。如果你在处理程序中这样做:
一般来说,你不希望有一个Web服务器,你从来不看什么资源被请求。如果你的逻辑基于一个特定的资源被请求,如
/
,那么你可以很容易地忽略其他类型的请求,如favicon。2izufjch2#
运行curlhostname:port发出一个请求,这证明是浏览器发出多个请求。