我有一台服务器,该服务器具有多个REST端点,我想与Javascript
并行查询。我尝试查询例如同时有10个端点。但是,chrome仅允许同时执行6个查询,这在here中有说明。所以我的瀑布图如下所示:
其余6个请求被并行执行,而其余的则停止。我想禁用停转。我怎样才能做到这一点?我使用的是最新版本的Chrome(75.0.3770.100),我为Cache-Control Header字段尝试了多个值,这些字段我发现here-没有一个起作用:
max-age=3, must-revalidate
no-cache, no-transform
no-store
任何想法如何解决这个问题?这是我用来生成请求的测试代码:
<html>
<head>
<script
src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
crossorigin="anonymous"></script>
<script>
let i=0;
while(i<20){
$.ajax({url: "http://127.0.0.1:9998/abc", headers:{
'Cache-Control':'no-store'
}, success: function(result){
console.log("done");
}});
i++;
}
</script>
</head>
<body>
</body>
</html>
答案 0 :(得分:0)
两个可能的选项是:
使用HTTP / 2.0 。对于HTTP / 2.0,仅使用单个连接,但是请求和响应是多路复用的。结果是所有请求都可以一次发送,服务器并行执行几个请求,然后在先前的响应到达客户端之前开始其他请求。
使用多个主机名:每个主机最多只能有6个并发连接。如果使用多个主机名,则可以执行6个以上的并发请求。