应用层之HTTP持久连接

持久连接情况下,服务器在发出相应后让TCP连接继续打开着。同一客户./服务器之间的后续请求和相应可以通过这个连接发送。

HTTP服务器在某个连接限制一段闲置后会关闭它,而这个时间是可以配置的。

持久连接分为:不带流水线(without pipelining)带流水线(with pipelining)


不带流水线:客户只在收到前一个请求的相应后才发出新的请求。那么WEB页面所引用的每个对象都要经历一个RTT的延迟,用于请求和接收该对象。(与非持久连接的2个RTT的延迟相比,不带流水线的持久连接已经有所改善。)

缺点:服务器送出一个对象后开始等待下一个请求,而这个新请求却不能马上到达。这段时间服务器资源便闲置了。


带流水线:HTTP/1.1默认的是带流水线的持久连接。HTTP客户每碰到一个引用就立即发出一个请求,服务器收到这些请求后,也可以一个接着一个紧挨着发出各个对象。如果所有的请求和相应都是紧挨着发送的,那么所有引用到的对象一共只经历1个RTT的延迟。(不带流水线的,是每个引用到的对象都各有1个RTT的延迟)。

流水线的持久连接中,服务器空等的时间就比较少。


与非持久相比,持久连接除了降低1个RTT的相应延迟外,缓启动延迟也比较小。原因:既然各个对象使用同一个TCP连接,服务器发出第一个对象后就不必再以一开始的缓慢速率发送后续对象。相反,服务器可以按照第一个对象发送完毕时的速率开始发送下一个个对象。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值