HTTP
HTPP:Hyper Text Transfer Protocol,超文本传输协议,定义了客户端与服务器之间说话的规则,是应用层协议。
- 应用层协议
- 基于TCP
- 默认是无状态的(每次请求独立,服务器不记住你)
工作原理:客户端发起请求 -> 服务器返回响应
HTTP是无状态的,怎么办?
HTTP默认不记住用户
比如登录后刷新网站,服务器不知道你是谁。
解决方案
Cookie + Session
- 服务器生成
session_id,通过Set-Cookie发给浏览器 - 浏览器下次请求自动带上
Cookie: session_id=... - 服务器查 session 存储,识别用户
Token(如JWT) - 登录成功后返回一个加密 Token
- 客户端每次请求在 Header 中携带:
Authorization: Bearer <token> - 服务器验证 Token 合法性
HTTP/1.1 HTTP/2 HTTP3
| HTTP/1.1 | 经典版本,支持持久连接,但队头阻塞(一次只能传一个文件) |
| HTTP/2 | 多路复用(多个请求并行)、头部压缩、二进制帧,速度大幅提升 |
| HTTP/3 | 基于 QUIC(UDP),解决 TCP 队头阻塞,更适合移动网络 |