【整理】HTTP相关版本对比

1. HTTP/1

超文本传输协议,处于计算机网络中的应用层,HTTP是建立在TCP协议之上,所以HTTP协议的瓶颈及其优化技巧都是基于TCP协议本身的特性。


缺陷:

  • 连接无法复用 ---------- 每次请求经历三次握手和慢启动
  • HOLB(队头阻塞) ---------- 带宽无法充分利用
  • 协议开销大 ---------- 头部携带信息过多,且每次头部信息基本无变化
  • 传输数据基本为明文 ---------- 不安全

浏览器默认对同一域下的资源,只保持一定的连接数,会阻塞过多的连接。

因此页面有多请求的建议使用请求复用或者把资源打包压缩传输。

2. HTTP/2

新特性:

  • 二进制传输 ---------- 流、消息、帧
  • 多路复用 ---------- 同域名所有通信在单个连接上完成;同域名只占用一个TCP连接
  • header压缩 ---------- 使用首部表,有变化才更新头部键值对
  • server push

缺陷:

  • 由于使用了多路复用,若TCP连接中出现了丢包,整个过程都需要重传;而HTTP/1而言有多个连接,问题不大

3.HTTP/3

基于UDP协议的QUIC协议

特点:

  • 0-RTT(往返时延) ---------- 缓存会话上下文
  • 多路复用 ---------- 原生实现(TCP没有的功能)
  • 认证加密 ---------- 报文头部、body都是认证或加密的
  • 前向纠错机制(FEC) ---------- 数据包包含冗余其他包部分数据,在丢失少量包的情况下可以直接组装,无需重传

参考:

HTTP/2及HTTP/3特性 - HackerVirus - 博客园

HTTP/3的过去、现在和未来_移动_Rustam Lalkaka_InfoQ精选文章

相关推荐
Karoku0662 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构
衍生星球4 小时前
【网络安全】对称密码体制
网络·安全·网络安全·密码学·对称密码
掘根4 小时前
【网络】高级IO——poll版本TCP服务器
网络·数据库·sql·网络协议·tcp/ip·mysql·网络安全
友友马5 小时前
『 Linux 』HTTP(一)
linux·运维·服务器·网络·c++·tcp/ip·http
2401_872514975 小时前
深入探究HTTP网络协议栈:互联网通信的基石
网络·网络协议·http
清水白石0085 小时前
C++使用Socket编程实现一个简单的HTTP服务器
服务器·c++·http
chenjingming6665 小时前
windows使用tcpdump.exe工具进行抓包教程
网络·测试工具·tcpdump
初黑子zzz5 小时前
rsync
网络
蜗牛学苑_武汉6 小时前
设计模式之代理模式
java·网络·java-ee·代理模式