聊一聊 http2.0

1。 我们认识http 协议,从最初的,客户端与服务器进行通讯,基于连接发生的请求与响应

clipboard.png

  • 在HTTP1.0时代,连接无法复用,每次下完单,都被强制登出/关机,下一次下单,就得重新登录。
  • 为了解决http1.0的单链接,http1.1 又提出了 保持链接设置Connection:Keep-Alive

clipboard.png

  • http1.1 默认开启了keep-alive,但是在keep-alive的背景下,必须等到请求1完成之后,再继续处理2,3,这样的方式很浪费时间,于是又提出了 HTTPpipelining 不用等到请求1 完成,就可以直接继续2,3,4

clipboard.png
只可惜服务器是按照顺序处理的,如果服务1,没有响应,那么2,3,4 服务就需要原地等待,只有等到1处理完成之后,才能处理后面2,3,4.为了解决这个问题,服务器需要增加好几个通道,建立多个链接,就算其中一个请求堵塞了,也不会影响其他的。
但是这样也不能解决问题 比如建立多个链接,链接数目有限,每换一个服务链接,就得从新TCP 三次握手,容易造成服务断开,随着服务的增加,订单也只能按照先进先出的顺序来排队,但是堵塞依旧很严重。所以这里创造了SPDY协议,后续在此基础上,又起草了 http2.0协议

由上,HTTP/1.1相较于 HTTP/1.0 协议的区别主要体现在:

1 缓存处理

2 带宽优化及网络连接的使用

3 错误通知的管理

4 消息在网络中的发送

5 互联网地址的维护

6 安全性及完整性

常用的请求方式

GET 请求获取Request-URI所标识的资源

POST 在Request-URI所标识的资源后附加新的数据

HEAD 请求获取由Request-URI所标识的资源的响应消息报头

PUT 请求服务器存储一个资源,并用Request-URI作为其标识

DELETE 请求服务器删除Request-URI所标识的资源

TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断

CONNECT 保留将来使用

OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求

GET方法:在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET方法向服务器获取资源,POST方法要求被请求服务器接受附在请求后面的数据,常用于提交表单。GET是用于获取数据的,POST一般用于将数据发给服务器之用。

HTTP 1.1状态代码及其含义

状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:

1xx:指示信息--表示请求已接收,继续处理

2xx:成功--表示请求已被成功接收、理解、接受

3xx:重定向--要完成请求必须进行更进一步的操作

4xx:客户端错误--请求有语法错误或请求无法实现

5xx:服务器端错误--服务器未能实现合法的请求

2. 多路复用

多路复用,即单个链接同时进行多个业务单元数据的传输。
有了多路复用之后,在同一个交易渠道上,能够同时完成客户所有订单货物的采购和交付,客户端只要在每个订单上备注好ID,货物拆分发货,乱序到达之后按照ID重新组装即可,不会因为某个包裹的延误导致整体配送进度的推迟。 简而言之 就是打包服务

clipboard.png

  • 请求优先级
    -假如订单2的商品特别重要,就在订单2上留一段备注,服务端收到订单之后,会优先发出订单2的包裹。

同时,服务端评估订单5是短保产品,需要尽快到货,也会将订单5优先发货。

clipboard.png

  • 头部压缩

    • HTTP1.X的头部越来越膨胀,很多都是重复且多余的,HTTP2.0可以压缩头部的大小,并且避免了重复的传输,可以大大降低延迟。

就好比货物越轻,运送速度则越快,HTTP2.0协议下,卖家发货时将多余包装扔掉,这样买家就能更快地收到货啦!

  • 服务端推送 就是预定

    • 服务端推送是HTTP2.0的一大亮点。

在客户端下了订单1之后,服务端预先判断客户端可能会需要下订单2、3、4……于是主动发货。这种主动推送的机制,可以节省接下来的几个请求耗时,提升访问速度。

clipboard.png

  • 科普完毕的分割线

有了HTTP2.0之后,卖家(网站)能够更快地将内容呈现给买家(用户)。
参考原文地址

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值