为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

2 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

哪个先返回取决于服务器端哪个先处理完先返回
连接复用是指这个http请求完成后,TCP连接在一定时间内不关闭;新的请求可以复用这个没有关闭的连接
                            
查看完整回答
反对 回复 2019-05-23
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

市面上出现的WEB服务器中,2比1先返回
先来看看HTTP请求复用
定义
Http/1.0每次请求都需要建立新的TCP连接,连接不能复用。Http/1.1新的请求可以在上次建立的tcp连接之上发送,连接可以复用。
优点
减少重复进行tcp三次握手的开销,提高效率。注意:在同一个tcp连接中,新的请求需要等上次请求收到响应后,才能发送。
csdn博客
而1是没收到响应的,所以本例中2不会复用1的TCP连接。
                            
查看完整回答
反对 回复 2019-05-23
  • 2 回答
  • 0 关注
  • 947 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信