https,http1,http2,http3的一些知识

温故知新,突然有人问我项目中🤔有使用http3么,一下不知从何说起,就有了这篇文章的出现。

https加密传输,ssl+tls https

验证身份 提供加密,混合加密 :

对称加密 非对称加密

原理:客服端请求 服务端返回证书 随机对称密钥加密;

http短暂链接 每次通信都要发起新的请求 请求完关闭;

http1.1: keep- alive,持久连接的特点是,只要任意一端没有明确提出断开连接,则保持 TCP 连接状态。如果某个 HTTP 长连接超过一定时间没有任何数据交互,服务端就会主动断开这个连接。

http2: 多路复用 ,二进制分帧 ,首部压缩,服务端推送,http2是可以在一个连接中并发多个请求或回应,而不用按照顺序一一对应。

移除了 http1.1中的串行请求,不需要排队等待,彻底解决「队头阻塞」问题,降低了延迟,大幅度提高了连接的利用率。同时,服务端不再是被动地响应,可以主动向客户端发送消息、推送额外的资源。

http3: 放弃 TCP,改用 UDP 作为底层传输协议,

  • 解决 TCP 层的 队头阻塞:每个数据流(Stream)独立编号,丢包时仅重传丢失的流,不影响其他流的传输。

  • 更灵活的拥塞控制算法(如 BBR、CUBIC),提升弱网络(如移动网络)下的传输效率。

  • 支持 连接迁移:当设备切换网络(如从 Wi-Fi 切到 4G),只需更新 IP 地址,无需重新建立连接(通过唯一连接 ID 保持状态)。

  • 更快的连接建立(0-RTT 握手)

    首次连接时,客户端可在 1-RTT(往返时间)内完成 TLS 握手并发送请求;后续连接(如同一域名下的重复访问)支持 0-RTT:客户端直接复用之前的密钥发送请求,无需等待握手完成。HTTP 2.0(HTTPS)需 2-RTT(TCP 三次握手 + TLS 握手),HTTP 3.0 首次连接仅需 1-RTT,后续连接接近"秒连"。

  • 强化加密与安全

    QUIC 强制使用 TLS 1.3 加密所有数据(包括传输层元数据),相比 HTTP 2.0 的可选加密(HTTPS)更安全。减少加密延迟,TLS 1.3 简化握手流程,移除过时加密算法,密钥生成速度更快,数据包格式经过模糊处理,难以被中间人攻击解析,提升隐私保护。

  • 解决 TCP 协议的历史局限性,僵化的拥塞控制算法(如慢启动)在现代网络(如高带宽延迟积场景)中效率低下;头部开销固定(如 20 字节的 TCP 头部),无法针对 HTTP 优化。

    QUIC 的改进采用自定义头部格式,减少冗余开销;支持更灵活的拥塞控制(如快速恢复丢包,动态调整传输速率)。

兼容性与部署

依赖 UDP 端口(需服务器和客户端支持 QUIC,部分网络环境可能屏蔽 UDP);

操作系统内核尚未完全集成 QUIC(目前主要通过用户空间库实现,如 Chrome 的 QUIC 引擎)。

现状:

主流浏览器(Chrome、Firefox)已支持 HTTP/3,Cloudflare、Google 等服务商已部署;

HTTP/3 被 IETF 正式标准化(2022 年发布 RFC 9114),逐步成为下一代 Web 传输协议。

相关推荐
七夜zippoe13 分钟前
OpenClaw 实战案例:数据分析平台构建
服务器·网络·数据分析·openclaw·平台构建
luj_176814 分钟前
草酸与烟酸对消化及糖代谢的影响解析
服务器·c语言·开发语言·经验分享·算法
潘正翔16 分钟前
docker基础_镜像使用
linux·运维·服务器·docker·容器·centos·devops
勉灬之33 分钟前
利用双网卡服务器搭建 Verdaccio 中转,解决内网 npm 依赖下载问题
运维·服务器·npm
DB哥讲数据库1 小时前
rocky linux安装教程:VMware虚拟机图文讲解部署Rocky Linux 9(附镜像包)
linux·运维·服务器
未*望1 小时前
【Linux入坑(二)—全志T133开发板适配USB-电容屏触摸屏驱动(多点触控) 】
linux·运维·服务器
懒鸟一枚1 小时前
为什么 useradd -rs /bin/false service 创建的用户无法用 su 切换?
linux·服务器·数据库
risc1234561 小时前
Lucene80DocValuesConsumer 五种类型源码阅读顺序
java·服务器·前端
爱喝热水的呀哈喽1 小时前
hypermesh两个网格参数解析
服务器·数据库·mysql
AI科技星1 小时前
拓扑生命系统确定性理论:基于32维流形的遗传密码起源与衰老动力学( 中英双语顶刊终稿·标准数学符号)
开发语言·网络·人工智能·算法·机器学习·乖乖数学·全域数学