问题描述:假如我点开一个index.html,该页面会同时发起两个异步请求,伪代码如下:window.onload=function(){ajax1();//第一次异步请求ajax2();//第二次异步请求}现在假如ajax1()这个请求是在服务器端的处理是十分耗时的,而ajax2()则仅仅是一个简单查询,处理很快。那么现在问题是:1、ajax2()这个请求的响应结果会不会先于ajax1()这个请求先返回到浏览器端?还是这个会跟服务端语言的机制有关?比如java或者nodejs这类。2、一个网络相关的问题:这两个请求会复用一个TCP连接吗。还是分别对服务器建立两个不同的TCP连接。(在HTTP1.1中,可以设置connection:keep-alive)万分感谢解疑~
2 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
市面上出现的WEB服务器中,2比1先返回先来看看HTTP请求复用定义Http/1.0每次请求都需要建立新的TCP连接,连接不能复用。Http/1.1新的请求可以在上次建立的tcp连接之上发送,连接可以复用。优点减少重复进行tcp三次握手的开销,提高效率。注意:在同一个tcp连接中,新的请求需要等上次请求收到响应后,才能发送。csdn博客而1是没收到响应的,所以本例中2不会复用1的TCP连接。
添加回答
举报
0/150
提交
取消