http
1、http0.9
HTTP 0.9是第一个版本的HTTP协议,已过时,只允许客户端发送GET这一种请求,且不支持请求头。HTTP 0.9具有典型的无状态性
2、http1.0
至今仍被广泛采用
- 请求与响应支持头域
- 响应对象以一个响应状态行开始
- 响应对象不只限于超文本
- 支持客户端通过POST方法向Web服务器提交数据
- 默认请求都是短连接:每一个请求建立一个TCP连接,请求完成后立马断开连接。每次请求都经历三次握手和慢启动
3、HTTP 1.1
是目前使用最广泛的协议版本 。HTTP 1.1是目前主流的HTTP协议版本
引入了许多关键性能优化
- 默认都为长连接:处理事务之后将TCP保持在连接的状态以便重用现在的连接,直到客户端或服务器端决定将其关闭为止
- 新增了一批Request method:HTTP1.1增加了OPTIONS,PUT, DELETE, TRACE, CONNECT方法
- 缓存处理:HTTP/1.1在1.0的基础上加入了一些cache的新特性,引入了实体标签,一般被称为e-tags,新增更为强大的Cache-Control头
- 等等
4、http2.0
主要特点有
- 多路复用(二进制分帧)
- 头部压缩
- 随时复位
5、http3.0
HTTP3.0的核心是QUIC(读音quick)协议,传统的http协议是基于tcp协议传输。而quic是基于UDP协议,但是UDP协议本身的传输是不可靠的,所以可以把quic理解为可靠的UDP
UDP本身没有连接的概念,连接建立时只需要一次交互,半个握手的时间
image-20221029111157889.png