请求和响应事件在节点js中如何彼此不同?

时间:2016-04-25 05:16:50

标签: javascript node.js http request response

我在nodejs中尝试过简单的服务器。我希望程序的输出为

服务器控制台 -

  • 请求收到0
  • 要求收到1
  • 要求收到2
  • 要求收到3

客户预期回复

  • 您已多次访问该网站 - 0
  • 您多次访问过该网站 - 1
  • 您多次访问过该网站 - 2
  • 您已多次访问该网站 - 3

客户实际回复

  • 您多次访问过该网站 - 1
  • 您已多次访问该网站 - 3

我无法理解这种行为。以下是我跑的代码

//dependencies
var http = require('http');

//variables
var counter = 0;

//callbacks and functions
var requestHandler = function( request , response ) {
        console.log('request recieved ' + counter++);
        response.writeHead(200);
        response.end('you have visited the site this many times - '+counter);
    };


//objects
var server = http.createServer(requestHandler);


//executions
server.listen('8080');

这种行为的可能原因是什么?

1 个答案:

答案 0 :(得分:0)

经过调查,我尝试在服务器上跟踪代码

console.log(request.url)

并输出

/  
/favicon.ico  

结果是浏览器向服务器发送了两个请求。

  1. 本地主机:8080
  2. /favicon.ico
  3. 每当重新加载页面时,这会将请求计数增加到2。这里预期的请求数是1,但实际是2