一个页面同时发起两个http请求相关问题

问题描述:假如我点开一个index.html,该页面会同时发起两个异步请求,伪代码如下:
window.onload=function(){
ajax1();//第一次异步请求
ajax2();//第二次异步请求
}
现在假如ajax1()这个请求是在服务器端的处理是十分耗时的,而ajax2()则仅仅是一个简单查询,处理很快。那么现在问题是:1、ajax2()这个请求的响应结果会不会先于ajax1()这个请求先返回到浏览器端?还是这个会跟服务端语言的机制有关?比如java或者nodejs这类。2、一个网络相关的问题:这两个请求会复用一个TCP连接吗。还是分别对服务器建立两个不同的TCP连接。(在HTTP1.1中,可以设置connection:keep-alive)
万分感谢解疑~
临摹微笑
浏览 948回答 2
2回答

阿晨1998

哪个先返回取决于服务器端哪个先处理完先返回连接复用是指这个http请求完成后,TCP连接在一定时间内不关闭;新的请求可以复用这个没有关闭的连接

ABOUTYOU

市面上出现的WEB服务器中,2比1先返回先来看看HTTP请求复用定义Http/1.0每次请求都需要建立新的TCP连接,连接不能复用。Http/1.1新的请求可以在上次建立的tcp连接之上发送,连接可以复用。优点减少重复进行tcp三次握手的开销,提高效率。注意:在同一个tcp连接中,新的请求需要等上次请求收到响应后,才能发送。csdn博客而1是没收到响应的,所以本例中2不会复用1的TCP连接。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript