什么是 HTTPS?HTTPS 和 HTTP 的区别是什么?
HTTPS 是基于 SSL/TLS 加密的 Web 传输协议,提供数据安全性和身份认证。与 HTTP 相比,HTTPS 使用加密通信以增强安全性。
HTTPS(HyperText Transfer Protocol Secure)是在 HTTP 协议基础上通过 SSL/TLS 协议实现加密传输、身份认证和完整性保护的安全通信协议。它与 HTTP 的核心区别如下:
一、核心区别
- 安全性(核心区别)
- HTTP:
数据传输完全明文(未加密),易被中间人攻击截获敏感信息(如密码、银行卡号)。 - HTTPS:
采用 SSL/TLS 加密传输数据,结合对称加密(高效处理数据)和非对称加密(安全交换密钥),同时提供服务器身份认证(通过 CA 机构颁发的证书)和数据完整性验证(防止篡改)。
- HTTP:
- 默认端口
- HTTP 默认使用 80 端口。
- HTTPS 默认使用 443 端口。这是通信协议层的根本性差异。
二、次要差异
- 性能开销
- HTTPS 因加密/解密操作略慢于 HTTP(约增加 12 个数据包),但现代硬件优化已大幅缩小差距,实际体验差异可忽略。
- 部署成本
- HTTPS 需向 CA(证书颁发机构)付费购买 SSL 证书(部分免费证书可用),HTTP 无需额外成本。
- 浏览器标识
- HTTP 站点在浏览器中会被标记「不安全」(如 Chrome 的红色警告)。
- HTTPS 站点显示「安全锁」标识(增强用户信任)。
- 协议栈差异
graph LR HTTP --> TCP HTTPS --> SSL/TLS --> TCP
HTTPS 在 HTTP 和 TCP 之间新增 SSL/TLS 加密层(关键安全屏障)。
三、HTTPS 工作原理
sequenceDiagram
客户端->>服务器: 1. 发起 HTTPS 请求(ClientHello)
服务器->>客户端: 2. 返回 SSL 证书(含公钥)
客户端->>服务器: 3. 验证证书,生成对称密钥(用公钥加密)
服务器->>客户端: 4. 私钥解密获得对称密钥,确认加密通道
双方->>数据传输: 5. 全程使用对称加密通信
注:非对称加密用于安全交换对称密钥,后续通信使用对称加密(兼顾效率与安全)。