【整理】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精选文章

相关推荐
qdprobot17 分钟前
ESP32桌面天气摆件加文心一言AI大模型对话Mixly图形化编程STEAM创客教育
网络·人工智能·百度·文心一言·arduino
hakesashou2 小时前
Python中常用的函数介绍
java·网络·python
C++忠实粉丝2 小时前
计算机网络socket编程(4)_TCP socket API 详解
网络·数据结构·c++·网络协议·tcp/ip·计算机网络·算法
九州ip动态2 小时前
做网络推广及游戏注册为什么要换IP
网络·tcp/ip·游戏
Estar.Lee2 小时前
时间操作[取当前北京时间]免费API接口教程
android·网络·后端·网络协议·tcp/ip
蝶开三月2 小时前
php:使用socket函数创建WebSocket服务
网络·websocket·网络协议·php·socket
G丶AEOM2 小时前
SSL/TLS,SSL,TLS分别是什么
网络·网络协议·网络安全
儒道易行2 小时前
【DVWA】RCE远程命令执行实战
网络·安全·网络安全
Koi慢热3 小时前
路由基础(全)
linux·网络·网络协议·安全
hzyyyyyyyu5 小时前
内网安全隧道搭建-ngrok-frp-nps-sapp
服务器·网络·安全