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无疑提供了更好的选择。

目录
相关文章
|
4月前
|
缓存 安全 网络协议
HTTP和HTTPS的区别有哪些?
本文简要总结了 HTTP 和 HTTPS 的区别,从概念、端口、连接方式、使用场景、安全性等多个角度进行了对比。HTTP 是无状态的、无连接的应用层协议,适用于一般性网站和性能要求较高的应用;HTTPS 则通过 SSL/TLS 层提供加密、认证和完整性保护,适用于涉及敏感信息和高安全性的场景。文章还讨论了两者在性能上的差异,包括握手和加密开销、缓存效果以及 HTTP/2 的多路复用技术。最终,根据具体需求选择合适的协议能够更好地平衡安全性和性能。
836 2
HTTP和HTTPS的区别有哪些?
|
20天前
|
安全 搜索推荐 网络安全
HTTPS与HTTP:区别及安全性对比
HTTP和HTTPS是现代网络通信中的两种重要协议。HTTP为明文传输,简单但不安全;HTTPS基于HTTP并通过SSL/TLS加密,确保数据安全性和完整性,防止劫持和篡改。HTTPS还提供身份验证,保护用户隐私并防止中间人攻击。尽管HTTPS有额外的性能开销和配置成本,但在涉及敏感信息的场景中,如在线支付和用户登录,其安全性优势至关重要。搜索引擎也更青睐HTTPS网站,有助于提升SEO排名。综上,HTTPS已成为大多数网站的必然选择,以保障用户数据安全和合规性。
42 1
|
2月前
|
安全 算法 网络安全
HTTP和HTTPS的区别
本文介绍HTTP与HTTPS的区别、HTTPS链接建立过程及常见加密算法。HTTP为明文传输,易被窃听;HTTPS通过SSL/TLS协议加密,确保数据安全。HTTPS使用端口443,提供认证机制。文中还详细讲解了对称加密(如AES、DES)和非对称加密(如RSA、ECC)算法的特点及应用场景。
|
3月前
|
算法 网络协议 安全
HTTP/2 协议的缺点是什么?
HTTP/2 协议的缺点是什么?
137 13
|
2月前
|
安全 网络安全 数据安全/隐私保护
第六问:http和https区别与联系
HTTP 和 HTTPS 是现代网络通信中的两种重要协议。HTTP 是明文传输协议,无加密功能;HTTPS 在 HTTP 基础上加入 SSL/TLS 加密层,提供数据加密、身份验证和数据完整性保障。HTTP 适用于非敏感信息传输,如新闻网站;HTTPS 适用于在线支付、账户登录等需要保护用户数据的场景。
54 0
|
3月前
|
传感器 缓存 网络协议
CoAP 协议与 HTTP 协议的区别
CoAP(Constrained Application Protocol)协议是为资源受限的设备设计的轻量级协议,适用于物联网场景。相比HTTP,CoAP具有低功耗、低带宽占用和简单易实现的特点,支持多播通信和无连接的交互模式。
|
3月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
3月前
|
缓存 安全 API
http 的 get 和 post 区别 1000字
【10月更文挑战第27天】GET和POST方法各有特点,在实际应用中需要根据具体的业务需求和场景选择合适的请求方法,以确保数据的安全传输和正确处理。
|
3月前
|
网络协议 网络安全 API
Http和Socks的区别?
HTTP 和 SOCKS 协议各有其优势和应用场景。在选择使用哪种协议时,应根据具体需求和应用环境做出决定。HTTP 适用于 Web 服务相关的通信,而 SOCKS 则更适用于需要通用代理功能和复杂网络环境的场景。了解它们的区别和特点,有助于在不同的网络应用中做出最佳选择。
81 1
|
3月前
|
网络协议 API 数据格式
HTTP 和 TCP 协议的主要区别
【10月更文挑战第25天】HTTP 和 TCP 在网络通信中扮演着不同的角色,各自具有独特的功能和特点,它们相互配合,共同为实现网络应用的各种需求提供了基础支持。

热门文章

最新文章