访问REST端点时如何避免Chrome停滞

时间:2019-07-04 14:32:56

标签: rest api google-chrome polling

我有一台服务器,该服务器具有多个REST端点,我想与Javascript并行查询。我尝试查询例如同时有10个端点。但是,chrome仅允许同时执行6个查询,这在here中有说明。所以我的瀑布图如下所示: enter image description here 其余6个请求被并行执行,而其余的则停止。我想禁用停转。我怎样才能做到这一点?我使用的是最新版本的Chrome(75.0.3770.100),我为Cache-Control Header字段尝试了多个值,这些字段我发现here-没有一个起作用:

max-age=3, must-revalidate

enter image description here

no-cache, no-transform

enter image description here

no-store

enter image description here

任何想法如何解决这个问题?这是我用来生成请求的测试代码:

<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>

1 个答案:

答案 0 :(得分:0)

两个可能的选项是:

  • 使用HTTP / 2.0 。对于HTTP / 2.0,仅使用单个连接,但是请求和响应是多路复用的。结果是所有请求都可以一次发送,服务器并行执行几个请求,然后在先前的响应到达客户端之前开始其他请求。

  • 使用多个主机名:每个主机最多只能有6个并发连接。如果使用多个主机名,则可以执行6个以上的并发请求。