http连接(二)

http连接流程

http连接流程分为三步:
- 客户端与服务器创建TCP连接
- 客服端发送http请求,服务器处理并返回响应
- 关闭TCP连接

整体流程如下图:
http连接

http可能的性能问题

  • DNS域名解析。客户端建立TCP请求前需要根据URL获取到对应的ip和端口。如果最近没有访问该域名可能会花费比较长的时间进行域名和ip的转换。
  • TCP连接建立和关闭。TCP连接建立关闭会交换一系列的IP分组,对连接的有关参数进行沟通。大量传输很少数据量,网络的性能会很低。
  • TCP慢启动。TCP连接在刚建立时会限制连接传输的最大速度,随着第一个报文的传输成功,TCP会慢慢提高传输速度。这种调节称为TCP的慢启动。

http连接管理

并行连接

一个页面也引用了100个css或者js,浏览器如果一个一个的去加载,那就太慢了。http允许浏览器打开多个连接,并发的进行http请求。当然并行连接不能一定提高访问的效率。比如说TCP慢启动导致新创建的连接效率都比较低,或者并行连接的打开数量可能也会受到限制。

持久连接

浏览器经常打开来自同一网站的页面,因此在不久的将来可能会继续打开这一网站的页面。http允许浏览器在事物处理结束后,连接保持打开状态,以便未来的请求重用现存的连接。这种事物处理结束后仍然处于打开状态称为持久连接。http1.0通过首部connection:keep-alive,http1.1通过首部connection:persistent,通知服务器客服端想打开一个持久连接

管道化连接

管道化连接是http1.1对持久连接的一个优化。在响应到达服务器之前,按照一定的顺序继续发送请求队列中的其他请求。管道化连接必须是持久连接,请求和响应都是有序的。如果发送了多条请求服务器只处理了部分请求,客户端必须能够重发没有处理的请求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值