Nodejs http请求console.log函数打印两次

时间:2014-08-20 16:42:35

标签: javascript node.js

每当我使用node.js向服务器发出http请求时,http请求函数内的console.logs输出两次。我使用以下代码设置了一个服务器,并在firefox上使用localhost:8888发出请求(localhost:8888):

var http = require('http');
var url = require('url');
function onRequest(request, response) {
    var pathname = url.parse(request.url, true).pathname;
    console.log("Your url pathname is " + pathname);
    response.write("Did you get your response?");
}
var new_server = http.createServer(onRequest).listen(8888);

控制台打印:

Your url pathname is /
Your url pathname is /favicon.ico

我的问题是:

  1. 为什么要求发送两次请求?
  2. 为什么在第二个请求中路径名为favicon.ico,尽管事实上我没有在请求网址中的套接字号后面指定任何内容?
  3. 有什么办法可以解决这两个问题吗?
  4. 谢谢。

1 个答案:

答案 0 :(得分:5)

显然,请求没有发送两次,这是两个请求。

浏览器要求提供图标。这是浏览器的功能。