一、WebSocket 与 HTTP 对比
1. 共同点
- 应用层协议:均位于OSI模型第七层,基于TCP传输。
- 可靠性:依赖TCP保证数据传输可靠性。
2. 核心区别
| 特性 | HTTP(半双工) | WebSocket(全双工) |
|---|
| 通信模式 | 请求-响应,每次需新建连接 | 持久连接,双向实时通信 |
| 协议开销 | 高(每次请求带完整头部) | 低(头部仅2-10字节) |
| 实时性 | 差(需轮询) | 高(服务器主动推送) |
二、WebSocket 详解
1. 核心特点
- 全双工通信:客户端与服务器可同时收发数据。
- 持久连接:一次握手后保持活跃,降低延迟。
- 安全扩展:WSS协议通过TLS加密(同HTTPS加密机制)。
2. 工作流程
- 握手:客户端发送HTTP升级请求(
Upgrade: websocket)。
- 协议升级:服务器同意后,TCP连接转为WebSocket协议。
三、HTTP/3 与 QUIC 协议
1. TCP 队头阻塞问题
四、HTTP 与 HTTPS 深度解析
1. 核心区别
| 特性 | HTTP(明文) | HTTPS(加密) |
|---|
| 安全性 | 无加密,易窃听篡改 | 通过TLS/SSL混合加密 |
| 加密基础 | - | 对称加密+非对称加密 |
2. 加密技术基础
(1)对称加密(单钥加密)
- 原理:加密和解密使用同一把密钥,速度快但密钥需安全传输。
- 示例算法:AES、DES。
- 应用场景:HTTPS数据传输阶段、文件加密。
(2)非对称加密(双钥加密)
- 原理:使用公钥(公开)和私钥(私密),公钥加密只能私钥解密。
- 示例算法:RSA、ECC。
- 应用场景:HTTPS密钥交换、数字签名。
3. HTTPS混合加密机制
- 密钥交换阶段(非对称加密):
- 服务器发送公钥(含在SSL证书中),客户端生成会话密钥并用公钥加密发送。
- 服务器用私钥解密得到会话密钥。
- 数据传输阶段(对称加密):
4. 加密流程图示
1. 客户端请求HTTPS连接 →
2. 服务器返回公钥(证书) ←
3. 客户端生成会话密钥,用公钥加密 →
4. 服务器用私钥解密得到会话密钥 ←
5. 双方用会话密钥对称加密通信 → ←
五、加密技术与协议的关联
| 协议 | 加密应用场景 | 加密技术组合 |
|---|
| HTTPS | 全程数据加密 | 非对称加密(密钥交换)+对称加密(数据传输) |
| WSS | WebSocket加密通信 | 同HTTPS(基于TLS层) |
| HTTP/3 | 可选加密(QUIC内置TLS1.3) | 同HTTPS混合加密机制 |
总结
- WebSocket与HTTP:核心在通信模式(全双工vs半双工)。
- HTTPS安全本质:通过对称+非对称加密的混合机制,兼顾安全与效率。
- HTTP/3演进:基于QUIC协议,在UDP上实现加密与低延迟传输。