安全性
-
HTTP :
明文传输数据,所有信息在网络中以未加密的形式发送,可能被中间人窃听、篡改或伪造,安全性极低。
例如:用户输入的密码、支付信息等会直接暴露在传输过程中。
-
HTTPS :
在 HTTP 基础上加入了 SSL/TLS 加密层,所有数据传输前会被加密,即使被拦截也无法直接读取内容,同时能验证服务器身份(防止伪装)和数据完整性(防止篡改)。
例如:银行网站、电商支付页面均强制使用 HTTPS。
端口
- HTTP:默认使用 80 端口。
- HTTPS:默认使用 443 端口。
协议头
- HTTP:请求头以 http:// 开头(如 http://www.baidu.com)。
- HTTPS:请求头以 https:// 开头(如 https://www.baidu.com),浏览器通常会在地址栏显示锁形图标,表示连接安全。
加密原理
-
HTTPS 依赖 SSL/TLS 协议实现加密,过程如下:
- 握手阶段:客户端与服务器协商加密算法,并通过服务器的CA证书验证服务器身份。
- 密钥交换:协商生成一个临时的对称加密密钥。
- 数据传输:所有数据通过对称密钥加密后传输,第三方即使拦截也无法解密。
-
HTTP 无加密过程,数据直接以明文传输。
性能与开销
- HTTP:无需加密和解密过程,传输速度更快,服务器资源消耗更低。
- HTTPS:由于增加了 SSL/TLS 握手和加密解密步骤,会产生额外的时间开销。
总结对比表
| 维度 | HTTP | HTTPS |
|---|---|---|
| 安全性 | 明文传输,不安全 | SSL/TLS 加密,安全 |
| 端口 | 80 | 443 |
| 协议头 | http:// | https://(带锁图标) |
| 加密 | 无 | 有(SSL/TLS 加密) |
| 证书 | 无需 | 需要 CA 颁发的 SSL 证书 |
| 性能 | 快 | 稍慢(加密解密开销) |
| 适用场景 | 非敏感数据传输 | 敏感数据传输(登录、支付等) |