node.js - 如果来自同一浏览器, Node http 请求不会同时执行

标签 node.js http

var http = require('http');
http.createServer(function (req, res) {
    setTimeout(function () {
        res.write("hello");
        res.end();
    }, 10000);
}).listen(8080);

这是我在本地主机上运行的简单 Node 服务器。

现在,如果我同时从两个不同的浏览器点击这个 url localhost:8080,我会在两个浏览器上同时收到响应,即大约 10 秒后。
但另一方面,当我从 chrome 浏览器的两个不同选项卡上这样做时,一个标签需要 10 秒,第二个标签需要 10 秒。

似乎请求正在一个接一个地处理,而不是同时处理。
有人可以解释一下吗?

最佳答案

这是一个已知的浏览器问题,仅当您在同一浏览器(或浏览器配置文件)和单独的选项卡中发出两个请求时才会发生(XHR 请求实际上可以同时完成)。

来源:

Chrome stalls when making multiple requests to same resource? Multiple instances of PHP script won't load concurrently in the same browser from the same URL

关于node.js - 如果来自同一浏览器, Node http 请求不会同时执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44344726/

相关文章:

javascript - AngularJS + 音位间隙 : access to Facebook login/SDK without a server

http - golang http 文件太多

javascript - 使用 Ajax 从 HTTP 300 代码响应中提取 HTTP header

java - 对于 JAX-RS 中具有复合主键的 JPA 实体,正确的 REST URI 是什么?

javascript - Jasmine Node 完成未定义

node.js - 在 WebStorm 7 中调试 node.js 应用程序

javascript - couchdb/nano 多部分插入

php - 使用哪种 HTTP 方法下载文件?

Python CGI 返回一个 http 状态代码,例如 403?

mysql - 如何使用for循环读取所有数据