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