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

How request and response event are different from each other in node js?

本文关键字:事件 何彼此 响应 求和 js 请求 节点      更新时间:2023-09-26

我在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');

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

经过调查,我尝试在服务器上遵循代码

console.log(request.url)

它输出

/  
/favicon.ico  

原来浏览器向服务器发送了两个请求。

  1. 本地主机:8080
  2. /网站图标.ico

每当重新加载页面时,这会将请求计数增加到 2。此处预期请求计数为 1,但实际为 2