HTTP与HTTPS全面对比及HTTPS加密流程详解
一、HTTP与HTTPS核心区别
| 特性 | HTTP | HTTPS | 
|---|---|---|
| 协议基础 | 明文传输 | HTTP + SSL/TLS加密层 | 
| 默认端口 | 80 | 443 | 
| 加密方式 | 无加密 | 混合加密(非对称+对称) | 
| 证书要求 | 不需要 | 需要CA颁发的数字证书 | 
| 安全性 | 易被窃听、篡改、冒充 | 防窃听、防篡改、身份认证 | 
| 性能开销 | 无加密开销 | 增加10-20%的CPU消耗 | 
| SEO影响 | 无特殊优势 | 搜索引擎排名加权 | 
二、HTTP协议内容组成
1. 请求报文结构
GET /index.html HTTP/1.1\r\n
Host: www.example.com\r\n
User-Agent: Mozilla/5.0\r\n
Accept: text/html\r\n
\r\n
[请求体]
-  
请求行:方法(GET/POST等) + URI + 协议版本
 -  
请求头:
-  
通用头:Cache-Control、Connection
 -  
请求头:Accept、Authorization
 -  
实体头:Content-Type、Content-Length
 
 -  
 -  
空行:\r\n
 -  
请求体:POST/PUT等方法携带的数据
 
2. 响应报文结构
HTTP/1.1 200 OK\r\n Content-Type: text/html\r\n Content-Length: 1234\r\n \r\n <!DOCTYPE html>...
-  
状态行:协议版本 + 状态码 + 状态描述
 -  
响应头:
-  
通用头:Date、Server
 -  
响应头:Location、Set-Cookie
 -  
实体头:同上
 
 -  
 -  
空行:\r\n
 -  
响应体:实际返回内容
 
3. 主要方法
| 方法 | 作用 | 幂等性 | 
|---|---|---|
| GET | 获取资源 | 是 | 
| POST | 提交数据 | 否 | 
| PUT | 替换资源 | 是 | 
| DELETE | 删除资源 | 是 | 
| HEAD | 获取报文首部 | 是 | 
三、HTTPS加密机制详解(结合了对称加密和非对称加密)
1. 加密类型组合
-  
非对称加密(用于密钥交换)
-  
算法:RSA、ECDHE
 -  
作用:安全传输对称加密的密钥
 
 -  
 -  
对称加密(用于数据传输)
-  
算法:AES、ChaCha20
 -  
作用:加密实际通信内容
 
 -  
 
2. HTTPS完整流程(TLS 1.2)

现代TLS 1.3优化
TLS 1.3(2018年发布)做了重大改进:
-  
1-RTT握手:默认支持前向安全的ECDHE
 -  
0-RTT模式:对近期连接过的服务器可立即发送加密数据
 -  
简化密码套件:移除不安全的算法(如RSA密钥交换)
 -  
加密证书:服务器证书在加密扩展中发送
 
3. 密钥交换两种方式
(1) RSA密钥交换

(2) ECDHE密钥交换(前向安全)

密钥交换算法对比
| 特性 | RSA密钥交换 | ECDHE密钥交换 | 
|---|---|---|
| 前向安全性 | 无 | 有 | 
| 密钥生成开销 | 服务器低 | 双方都需要计算 | 
| 主流支持 | TLS 1.2及以下 | TLS 1.2/1.3首选 | 
| 密钥材料 | 静态服务器密钥 | 临时密钥对 | 
4. 会话密钥生成
双方使用以下参数生成相同的会话密钥:
-  
Client Random
 -  
Server Random
 -  
Premaster Secret
通过PRF(伪随机函数)生成: 
python代码
master\_secret = PRF(pre\_master\_secret + ClientRandom + ServerRandom)
key\_block = PRF(master\_secret + "key expansion" + ServerRandom + ClientRandom)
四、HTTPS安全增强机制
1. 证书验证流程
-  
检查证书链完整性
 -  
验证有效期
 -  
检查域名匹配
 -  
吊销状态检查:
-  
CRL(证书吊销列表)
 -  
OCSP(在线证书状态协议)
 -  
OCSP Stapling(服务器提供响应)
 
 -  
 
2. TLS 1.3主要改进
-  
1-RTT握手:简化握手流程
 -  
0-RTT模式:对近期连接可立即发送数据
 -  
移除不安全算法:仅保留前向安全加密套件
 -  
加密证书传输:增强隐私保护
 
五、性能优化建议
-  
会话恢复:
-  
Session ID缓存
 -  
Session Ticket机制
 
 -  
 -  
证书优化:
-  
使用ECDSA证书
 -  
选择更短的证书链
 
 -  
 -  
协议优化:
-  
启用HTTP/2 over HTTPS
 -  
开启TLS False Start
 
 -  
 -  
硬件加速:
-  
AES-NI指令集
 -  
专用SSL加速卡
 
 -  
 
HTTPS通过巧妙的混合加密机制,既解决了对称加密的密钥分发问题,又避免了非对称加密的性能瓶颈,是现代Web安全的基石。理解其工作原理有助于开发者更好地调试和优化Web应用。
六:关于https证书申请:
以下是一些常用的https证书申请,需要花钱,具体流程可以去具体的网站看,有详细的流程,不一一赘述了。同时需要注意使用https时可能需要更改nginx相关代码。
-  
阿里云
 -  
腾讯云
 -  
certbot
 -  
acme.sh
 -  
freessl.cn