所以我试着像这样并行运行多个fetch请求:
fetch(
`http://localhost/test-paralell-loading.php?r`
);
fetch(
`http://localhost/test-paralell-loading.php?r`
);
fetch(
`http://localhost/test-paralell-loading.php?r`
);
但它们出乎意料地按顺序运行:
这是HTTP 1.1的限制吗?如何克服?
更新:
看起来像是在chrome上,o firefox它的行为不同:
有没有什么东西可以提高chrome浏览器的性能?
2条答案
按热度按时间5fjcxozz1#
您的请求正在并发运行,只是其中一些请求处于连接启动的延迟阶段。这可能是由于排队下的任何原因。请参阅预览计时细分。
通过查看浏览器网络选项卡中的瀑布图,可以看出并发运行和串行运行之间的区别。
并发请求的瀑布:
现在以系列为例:
串联请求的瀑布:
gcuhipw92#
@bergianswer在这里回答Chrome这样做的原因:
浏览器将它们排队,希望响应可以包含缓存头,这样就不必重复请求