HTTP 与 HTTPS 的核心区别
|-------------|-----------------------------|------------------------------------|
| 项目 | HTTP | HTTPS |
| 全称 | HyperText Transfer Protocol | HyperText Transfer Protocol Secure |
| 端口号 | 默认使用 80 | 默认使用 443 |
| 安全性 | 不加密,明文传输 | 加密传输,具备身份验证和数据完整性保护 |
| 加密方式 | 无 | 使用 SSL/TLS 加密层 |
| 证书支持 | 不需要 | 需要申请数字证书(CA签发) |
| 性能开销 | 较小 | 有一定开销(握手 + 加解密过程) |
| 数据被窃取风险 | 高 | 低(加密防中间人攻击、窃听) |
HTTPS 在 HTTP 之上的三大增强功能:
- 加密(Encryption)
-
- 避免数据在传输过程中被第三方窃听。
- 认证(Authentication)
-
- 通过数字证书确保访问的是真实网站而不是伪造站点(防止钓鱼网站)。
- 完整性校验(Integrity)
-
- 确保数据在传输过程中没有被篡改。
HTTPS = HTTP + TLS(或 SSL)
- HTTPS 并不是一个全新的协议,而是在 HTTP 上添加了 TLS/SSL 加密层。
- 所以它仍然使用 HTTP 的方法(GET、POST 等),只是数据在传输前先被加密。
举个简单例子来对比
使用 HTTP 登录账号:
你在表单中输入了账号和密码,浏览器通过 HTTP 把它明文 发给服务器。
→ 任何中间人(Wi-Fi 提包、路由监听)都可以直接读取你的密码!
使用 HTTPS 登录账号:
数据先通过 TLS 加密,再发送给服务器。
→ 第三方只能看到加密后的乱码,即使拦截也无法解密!