http 1.0、2.0、3.0 之间的区别

首先是HTTP协议:

HTTP 是 HyperText Transfer Protocol(超文本传输协议)的缩写,它是互联网上应用最为广泛的一种网络协议,所有 WWW 文件都必须遵守这个标准。其他的话就不多说了,我们直接进入正题。

HTTP1.0版本:

功能:

  1. 支持 http 请求,响应含状态码和状态行
  2. 支持 HTML 文件以外的其他类型

缺点:

  1. 连接无法复用的问题。这会导致每发送一次请求都需要进行三次握手的过程,重新建立连接,效率太低。
  2. 是阻塞问题。http1.0是下一个请求的发送必须要等到上一个请求返回后才会进行,如果上一个请求没有返回,那么后面的请求就会全部阻塞。
  3. 安全问题。http1.0所传输的内容都是明文的,无法保证数据的安全性。

HTTP 1.1

新增:

  1. http 1.0 的基础上,引入了更多缓存控制策略
  2. 在错误通知中,新增了错误状态响应码

HTTP2.0版本:

HTTP2.0版本比较专注于性能,它采用二进制格式传输数据,http2.0也采用了多路复用的技术,它可以只通过一个 TCP 连接传输所有的请求数据。还有就是采用了头部压缩技术,这也成功解决了http1.0的header 里携带的内容过大的问题,在一定程度上减轻了传输的成本。不过它也存在一定的问题,如果在传输的过程中存在丢包的情况的话,那么整个tcp就得重新传输,后面资源就会被阻塞。

HTTP3.0版本:

它最大的不同是放弃了tcp协议而是改用了 QUIC协议,此协议基于传输层UDP协议。UDP协议无需三次握手四次挥手,所以传输速率更高。并且它改善了多路复用产生的问题,如果出现丢包的情况,不需要整个重新发送,只需要重发丢掉的包就可以。

参考文献

https://blog.csdn.net/qq_44890362/article/details/121051284
https://blog.csdn.net/yzp666z/article/details/116713008
https://blog.csdn.net/weixin_50870081/article/details/119826165

posted @ 2022-05-30 09:43  沧海一声笑rush  阅读(1442)  评论(0编辑  收藏  举报