http版本的总结

最初的http版本0.9 功能简陋,只能支持get方式并且仅能请求访问HTML格式的资源

http1.0 增加了post请求方式和head,不仅限于html格式,根据 content-type 可以支持多种数据格式,同时开始只支持cache。新增的功能还包括:状态码,缓存,内容编码等等但是1.0的版本工作方式是每次tcp连接只能发卡一个请求,当服务器响应后就回关闭这次连接下一个请求需要重新建立tcp连接不支持keep-live

缺点:tcp的连接成本很高,因为客户端和服务器要进行三次握手,并且开始是的发送速率不高,所以1.0的版本性能较差

解决方案:增加了concection:keep-live字段。

http1.1版本 引入了持久连接 一个tcp连接可以允许多个http请求

加入了管道机制,在一个tcp连接里面,允许多个请求同时发送,增加了并发性,进一步改善了http协议的效率。

新增了请求方式put patch options delete。

客服端新增了host字段,用来指定服务器的域名,加入新的状态码节约带宽

缺点:1.1版本虽然允许复用tcp连接,但是同一个tcp连接里面,所有的数据通信是按次序进行的,服务端是安队列顺序处理请求的,这样派对处理http请求,就会造成队头堵塞的问题。同时http是无状态连接的。因此每次请求需要添加重复的字段,降低带宽的利用率。

http2.0解决了1.1中的了利用率不高的问题。增加了双工模式:不仅客户顿能够同时发送多个请求,服务端也能同时处理多个请求,增加服务器推送功能。支持二进制帧的格式来传递报头和数据,

HTTP 性能优化的关键并不在于高带宽,而是低延迟。TCP 连接会随着时间进行自我「调谐」,起初会限制连接的最大速度,如果数据成功传输,会随着时间的推移提高传输的速度。这种调谐则被称为 TCP 慢启动(拥塞控制)。由于这种原因,让原本就具有突发性和短时性的 HTTP 连接变的十分低效。 HTTP/2 通过让所有数据流共用同一个连接,可以更有效地使用 TCP 连接,让高带宽也能真正的服务于 HTTP 的性能提升。

http响应模型

单进程io模型 多进程io模型 复用io模型 复用io模型 复用多线程io模型

总结:

http1.0(或者0.9)版本是相对较落后的版本,在功能上支持如下:

TCP连接不可复用,且一个TCP连接只能发送一次请求,当服务器响应后,就会关闭这次连接。这样导致每次请求都需要重新建立TCP连接(三次握手),影响发送速率,后面提供了一个非标准字段Connection字段来实现长连接,但是由于非标准字段,所以不同实现的行为可能不一致; 支持发送的http请求方式有get(0.9)、post、head(1.0);

http1.1 实现长连接,即TCP连接默认不关闭,允许被多个请求复用,不用申明Connection: keep-alive。 提供管道机制,即一个TCP连接中,允许多个请求同时发送,增加并发性,但是服务器还是根据得到请求的先后顺序去进行响应,这种机制容易造成队头阻塞。 请求方式增加put、patch、options、delete等。 请求头新增host字段,用来处理服务器存在多个虚拟主机的情况。 提供身份认真机制,许多web站点要求用户提供一个用户名—口令对才能访问存放在其服务器中的文档,这种要求称为身份认证(authentication)。HTTP提供特殊的状态码和头部来帮助Web站点执行身份认证。

http2.0

增加双工模式,即不仅客户端能够同时发送多个请求,服务端也能同时处理多个请求,解决了队头堵塞的问题; 服务器推送功能,当我们对支持HTTP2.0的web server请求数据的时候,服务器会顺便把一些客户端需要的资源一起推送到客户端,免得客户端再次创建连接发送请求到服务器端获取。这种方式非常合适加载静态资源 支持二进制帧的格式来传递报头和数据。 头信息压缩机制,头信息使用gzip或compress压缩后再发送;另一方面,客户端和服务器同时维护一张头信息表,所有字段都会存入这个表,生成一个索引号,以后就不发送同样字段了,只发送索引号,这样就提高速度了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值