HTTP2和HTTP3区别?HTTP2有什么缺点?

简介: 总的来说,如果把HTTP/2比作是优化过的汽车,那HTTP/3就像是直升飞机,它不仅飞得快,而且即使前面有障碍也不会轻易停下。想要网站速度更快,HTTP/3无疑提供了更好的选择。

HTTP/2和HTTP/3是互联网协议的两个重要版本,它们在性能和设计上有显著区别,主要体现在以下几个方面:

1. 协议基础

  • HTTP/2 是基于二进制的协议,不再是纯文本。它引入了帧的概念,每个帧都标识了它传输的是数据还是控制信息。这种设计使得HTTP/2可以在同一个连接上同时发送请求和响应,大大提高了效率。

  • HTTP/3 则使用了全新的传输协议QUIC(快速UDP互联网连接)。QUIC是基于UDP的,而不是TCP。这一改变使得HTTP/3在处理多个请求时能够更加高效,尤其是在丢包和重新传输的情况下。

    HTTP2

    HTTP2

2. 头部压缩

  • HTTP/2 使用HPACK算法压缩头部,减少了数据传输的大小和延迟。HPACK可以有效地减少重复的头部信息,每次只传输变动的部分。
  • HTTP/3 则进一步使用了QPACK,这是一种类似于HPACK但为QUIC特别优化的头部压缩算法。由于QUIC支持流的并行传输,QPACK设计时考虑了流的独立性,减少了依赖和潜在的阻塞。

3. 多路复用

  • HTTP/2 通过帧的机制实现了多路复用,即在单个连接上同时传输多个请求和响应。这减少了TCP连接的数量,从而降低了延迟。
  • HTTP/3 由于基于QUIC,其多路复用能力得到了进一步的增强。QUIC天生支持无阻塞的多流并行,即使其中一个传输流遇到问题,也不会影响到其他流。

4. 连接建立和恢复

  • HTTP/2 在建立连接时需要TCP的三次握手加上TLS的握手过程,这可能导致初始延迟。
  • HTTP/3 的QUIC协议将TLS集成到了传输层,可以在一次握手过程中完成加密和连接的建立,显著减少了连接建立时间。此外,QUIC支持连接迁移,即使用户的网络环境改变,也能快速恢复连接。

5. 安全性

  • HTTP/2HTTP/3 都要求默认使用TLS加密,保证数据传输的安全性。HTTP/3由于使用QUIC,加密更为深入和集成。

6.HTTP2缺点

HTTP2存在的问题
1、如果有丢包请求会等待重传,阻塞后面的数据,有可能不如http1.1的多个TCP连接 TCP 以及 TCP+TLS 建立连接的延时
2、TCP 的队头阻塞并没有彻底解决 TCP 为了保证可靠传输,有一个“超时重传”机制,丢失的包必须等待重传确认
3、多路复用导致服务器压力上升,多路复用没有限制同时请求数。请求的平均数量与往常相同,但实际会有许多请求的短暂爆发,导致瞬时 QPS 暴增
4、多路复用容易 Timeout 大批量的请求同时发送,由于 HTTP2 连接内存在多个并行的流,而网络带宽和服务器资源有限,每个流的资源会被稀释,虽然它们开始时间相差更短,但却都可能超时。

HTTP3

HTTP3

HTTP3解决了这个问题

是基于UDP的QUIC协议
1、解决掉http2多路复用存在的丢包的问题,不存在阻塞多个流之前没有依赖,基于ID识别一个链接,不是TCP基于IP和端口
2、QUIC 可以在网络上保留更多的在途字节。在丢包率比较高的网络下,可以提升网络的恢复速度,减少重传量。
引用,在途字节 blog.csdn.net/u014023993/…
3、由于网络存在延迟丢包、接收端处理数据与发送端发送数据的速度有差别以及接收端可能采取收到多个包以后才统一回复Ack的策略,那么发送端就需要保存“已发送但未收到Ack”的数据列表,当触发重传时,直接在该链表中找到相应需要重传的数据,重传给接收端。

总结

总的来说,如果把HTTP/2比作是优化过的汽车,那HTTP/3就像是直升飞机,它不仅飞得快,而且即使前面有障碍也不会轻易停下。想要网站速度更快,HTTP/3无疑提供了更好的选择。

目录
相关文章
|
19天前
HTTP协议中请求方式GET 与 POST 什么区别 ?
GET和POST的主要区别在于参数传递方式、安全性和应用场景。GET通过URL传递参数,长度受限且安全性较低,适合获取数据;而POST通过请求体传递参数,安全性更高,适合提交数据。
253 2
|
4月前
|
缓存 搜索推荐 CDN
HTTP缓存策略的区别和解决的问题
总的来说,HTTP缓存策略是一种权衡,需要根据具体的应用场景和需求来选择合适的策略。理解和掌握这些策略,可以帮助我们更好地优化网页性能,提高用户的浏览体验。
120 11
|
5月前
|
安全 网络安全 数据安全/隐私保护
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
274 3
|
6月前
|
数据采集 缓存 负载均衡
动态HTTP代理与静态HTTP代理的区别及HTTP代理的常见用途与类型
HTTP代理在网络通信中扮演重要角色,优化数据传输并提供隐私保护和访问控制。本文对比动态与静态HTTP代理,探讨其特点、优劣势及适用场景。静态代理地址固定,适合稳定环境;动态代理灵活切换服务器,增强隐私保护。此外,介绍HTTP代理的常见用途(如缓存加速、匿名浏览、绕过限制等)及类型(透明、普匿、匿名、高匿、正向、反向代理),帮助用户根据需求选择合适的代理方式。最后提醒用户遵守法律法规,确保安全使用。
205 1
|
8月前
|
安全 搜索推荐 网络安全
HTTPS与HTTP:区别及安全性对比
HTTP和HTTPS是现代网络通信中的两种重要协议。HTTP为明文传输,简单但不安全;HTTPS基于HTTP并通过SSL/TLS加密,确保数据安全性和完整性,防止劫持和篡改。HTTPS还提供身份验证,保护用户隐私并防止中间人攻击。尽管HTTPS有额外的性能开销和配置成本,但在涉及敏感信息的场景中,如在线支付和用户登录,其安全性优势至关重要。搜索引擎也更青睐HTTPS网站,有助于提升SEO排名。综上,HTTPS已成为大多数网站的必然选择,以保障用户数据安全和合规性。
562 1
|
9月前
|
安全 算法 网络安全
HTTP和HTTPS的区别
本文介绍HTTP与HTTPS的区别、HTTPS链接建立过程及常见加密算法。HTTP为明文传输,易被窃听;HTTPS通过SSL/TLS协议加密,确保数据安全。HTTPS使用端口443,提供认证机制。文中还详细讲解了对称加密(如AES、DES)和非对称加密(如RSA、ECC)算法的特点及应用场景。
|
10月前
|
算法 网络协议 安全
HTTP/2 协议的缺点是什么?
HTTP/2 协议的缺点是什么?
364 13
|
10月前
|
传感器 缓存 网络协议
CoAP 协议与 HTTP 协议的区别
CoAP(Constrained Application Protocol)协议是为资源受限的设备设计的轻量级协议,适用于物联网场景。相比HTTP,CoAP具有低功耗、低带宽占用和简单易实现的特点,支持多播通信和无连接的交互模式。
|
9月前
|
安全 网络安全 数据安全/隐私保护
第六问:http和https区别与联系
HTTP 和 HTTPS 是现代网络通信中的两种重要协议。HTTP 是明文传输协议,无加密功能;HTTPS 在 HTTP 基础上加入 SSL/TLS 加密层,提供数据加密、身份验证和数据完整性保障。HTTP 适用于非敏感信息传输,如新闻网站;HTTPS 适用于在线支付、账户登录等需要保护用户数据的场景。
267 0
|
10月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密