为什么console.log()在createServer()中输出两次?

时间:2018-01-01 05:27:53

标签: javascript node.js node-modules

我在Node中编写了以下代码,当我启动服务器并刷新页面时,第1行打印2次。

var http = require('http');
var server = http.createServer(function(request, response) {
    {
        response.writeHead(200, { "content-type": "text/html" });
        response.write("<h1>Welcome to Node server</h1>");
        console.log("ksdguf");//1
        response.end();
    }
});

server.listen(3000);
console.log("Server started, Access it using browser");

请有人解释一下这背后可能的原因。

1 个答案:

答案 0 :(得分:3)

因为大多数浏览器都会请求favicon:

var http = require('http');
var server = http.createServer(function(request, response) {
{
    response.writeHead(200, { "content-type": "text/html" });
    response.write("<h1>Welcome to Node server</h1>");
    console.log("ksdguf");//1
    console.log(request.method);
    console.log(request.url)
    response.end();

}
});


server.listen(3000);

console.log("Server started, Access it using browser");

<强>输出:

服务器已启动,使用浏览器访问

未定义

ksdguf

GET

/

ksdguf

GET

/favicon.ico