HTTP各版本的特点(1.0/1.1/2.0/3.0)

1. HTTP-1.0

无状态无连接的应用层协议

  • 无法复用连接

    每次发送请求,都要重新建立连接。

  • 队头阻塞

    下个请求必须在上个请求响应到达后发送。如果上个请求响应丢失,则后面请求被阻塞

2. HTTP-1.1

HTTP1.1 继承了 HTTP1.0 的简单,克服了 HTTP1.0 性能上的问题。

  • 长连接

    新增Connection: keep-alive保持长连接

  • 管道化

    支持管道化请求,请求可以并行传输,但响应顺序应与请求顺序相同。实际场景中,浏览器采用建立多个TCP会话的方式,实现真正的并行,通过域名限制大会话数量。

  • 缓存处理

    新增Cache-control,支持强缓存协商缓存

  • 断点续传

  • 主机头

    新增Host字段,使得一个服务器创建多个站点。

3. HTTP-2.0

HTTP2.0进一步改善了传输性能。

  • 二进制分帧

    在应用层和传输层间增加二进制分帧层

  • 多路复用

    建立双向字节流,帧头部包含所属流 ID,帧可以乱序发送,数据流可设优先级和依赖。从而实现一个 TCP 会话上进行任意数量的HTTP请求,真正的并行传输。

  • 头部压缩

    压缩算法编码原来纯文本发送的请求头,通讯双方各自缓存一份头部元数据表,避免传输重复头。

  • 服务器推送

    服务端可主动向客户端推送资源,无需客户端请求。

4. HTTP-3.0

当一个 TCP 会丢包时,整个会话都要等待重传,后面数据都被阻塞。这是由于 TCP 本身的局限性导致的。HTTP3.0 基于 UDP 协议,解决 TCP 的局限性。

  • 0-RTT

    缓存当前会话上下文,下次恢复会话时,只需要将之前缓存传递给服务器,验证通过,即可传输数据。

  • 多路复用

    一个会话的多个流间不存在依赖,丢包只需要重发包,不需要重传整个连接

  • 更好的移动端表现

    移动端 IP 经常变化,影响 TCP 传输,HTTP3.0 通过 ID 识别连接,只要 ID 不变,就能快速连接。

  • 加密认证的根文

    TCP 协议头没有加密和认证,HTTP3.0 的包中几乎所有报文都要经过认证,主体经过加密,有效防窃听,注入和篡改。

  • 向前纠错机制

    每个包还包含其他数据包的数据,少量丢包可通过其他包的冗余数据直接组装而无需重传。数据发送上限降低,但有效减少了丢包重传所需时间。


参考:

《LeetBook》

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
HTTP 协议是一种用于 Web 通信的应用层协议,目前主要有以下几个版本: 1. HTTP/1.0:最早的版本,于 1996 年推出。它使用短连接(即每次请求都需要建立和关闭连接),并且不支持持久连接、管线化、虚拟主机等特性。 2. HTTP/1.1:于 1999 年推出,是目前最广泛使用的版本。它引入了持久连接、管线化、请求头压缩等特性,可以大幅提高网络传输效率。此外,HTTP/1.1 还支持虚拟主机、缓存等特性,使得 Web 应用程序更加灵活和高效。 3. HTTP/2.0:于 2015 年推出,是 HTTP 协议的最新版本。它引入了二进制分帧、多路复用、头部压缩、服务器推送等特性,可以进一步提高传输效率和性能。HTTP/2.0 还支持流量控制、优先级和服务器提示等特性,使得 Web 应用程序更加快速、可靠和安全。 4. HTTP/3.0:正在研究开发中,预计将于未来几年推出。HTTP/3.0 将使用基于 UDP 的 QUIC 协议,可以进一步提高传输效率和性能,同时还具有更好的安全性和可靠性。 总体来说,HTTP/1.01.12.03.0 版本的主要区别在于传输效率、性能和安全性方面的改进。HTTP/1.01.1 主要是在连接管理和头部处理方面的改进,HTTP/2.03.0 则在传输协议的基础上引入了更多的特性,如二进制分帧、多路复用、服务器推送等,以提高传输效率和性能。同时,HTTP/2.03.0 还具有更好的安全性和可靠性,可以更好地满足现代 Web 应用程序的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火星飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值