为什么后续的 HTTP 请求

why subsequent HTTP requests

我的 JavaScript 调用 ajax 检索 JSON 数组。

我正在尝试模拟较长的 运行 HTTP REST 调用请求,该请求需要更长的时间才能 return 结果。

我这样做的方法是延迟将任何内容写入服务器端的响应对象,直到请求到达后 5 分钟。之后,我将状态设置为 200 并使用 JSON 结束流来编写响应。

在服务端放置一个断点我意识到该请求第二次出现,但浏览器的网络选项卡不显示正在发出的另一个请求。

它可能不相关,但我正在使用 browsersync middlewars 来服务这个 JSON 并写入字节并在 setTimeout() 中结束响应。

setTimeout(()=> {
    res.statusCode = 200;
    res.write(data);
    res.end();
});

问题:

有人能解释为什么会这样吗?如果有办法以其他方式模拟它?

在大多数情况下,如果连接在响应之前关闭,浏览器应该重试。这是一个 link 的详细信息 => HTTP spec Client Behavior if Server Prematurely Closes Connection

顺便说一句,它可能会帮助您在开发工具 (F12) 的网络部分使用 chrome 节流选项