HTTP 和 HTTPS 的区别(详细解析)
HTTP 和 HTTPS 的区别(详细解析)
1. 基本概念
-
HTTP(超文本传输协议,HyperText Transfer Protocol)
- HTTP 是一种 明文传输 的协议,用于浏览器和服务器之间的数据通信。
- 默认端口号:80
- 安全性低,数据在传输过程中容易被窃听、中间人攻击、篡改。
-
HTTPS(超文本传输安全协议,HyperText Transfer Protocol Secure)
- HTTPS = HTTP + SSL/TLS(安全传输层协议)
- 通过 SSL/TLS 加密 数据,确保数据传输的 机密性、完整性和身份认证。
- 默认端口号:443
- 主要用于 银行、支付、电商、登录页面等 需要安全传输的场景。
2. HTTP 和 HTTPS 的核心区别
3. HTTPS 底层原理
(1) SSL/TLS 协议
HTTPS 主要依赖 SSL/TLS(安全套接字层/传输层安全协议) 来实现安全通信。
- SSL(Secure Sockets Layer):最早由 Netscape 公司开发,目前已被淘汰。
- TLS(Transport Layer Security):SSL 的升级版,TLS 1.3 是当前最新版本。
(2) HTTPS 握手过程
HTTPS 采用 对称加密 + 非对称加密 + 数字证书,保证通信安全,握手过程如下:
1️⃣ 客户端(浏览器)发起 HTTPS 请求
- 浏览器请求访问
https://www.example.com
- 服务器返回 SSL 证书(包含服务器公钥、证书颁发机构 CA)
2️⃣ 客户端验证服务器身份
- 浏览器检查证书是否合法(CA 签名、域名、有效期)
- 若证书无效,则警告用户(“此网站不安全”)
3️⃣ 生成会话密钥
- 客户端随机生成一个 对称加密密钥
- 用服务器的 公钥(RSA)加密 该密钥并发送给服务器
4️⃣ 服务器解密密钥
- 服务器用 私钥解密 得到 对称加密密钥
- 之后通信双方使用 对称加密(如 AES) 进行安全通信
5️⃣ 安全数据传输
- 双方使用 对称加密 进行数据传输,防止窃听、篡改。
4. HTTPS 关键技术
(1) 对称加密 vs 非对称加密
-
对称加密(如 AES)
- 发送方和接收方使用 同一个密钥 加密和解密
- 优点:速度快
- 缺点:密钥传输容易被窃听
-
非对称加密(如 RSA)
- 使用 公钥加密,私钥解密
- 优点:安全性高
- 缺点:速度慢
HTTPS 结合两者:
- 非对称加密 交换密钥
- 对称加密 传输数据
(2) 数字证书
HTTPS 需要 CA(Certificate Authority,证书颁发机构) 颁发的 SSL 证书,常见 CA:
- DigiCert
- GlobalSign
- Let\'s Encrypt(免费)
证书作用:
- 确保网站 真实身份
- 绑定网站域名
- 保障数据加密传输
(3) TLS 版本
- TLS 1.3(2018 年发布)
- 安全性更高,握手更快(0-RTT)
- 移除不安全的加密算法
- TLS 1.2(目前主流)
- 仍广泛使用
5. 为什么要用 HTTPS?
(1) 防止中间人攻击
- HTTP 明文传输,攻击者可篡改数据
- HTTPS 通过加密防止劫持
(2) 保障用户数据安全
- 防止 密码、信用卡、个人信息 被窃取
- 防止 广告劫持
(3) 提高 SEO 排名
- Google、百度 优先收录 HTTPS 网站
- Chrome 标记 HTTP 网站为“不安全”
6. HTTPS 的缺点
-
性能损耗
- HTTPS 需要 加密/解密,略微影响性能
- 但 TLS 1.3 优化握手速度
-
证书费用
- SSL 证书由 CA 机构颁发,部分证书收费
- Let’s Encrypt 提供免费证书
-
兼容性问题
- 老旧设备可能不支持 TLS 1.3
7. 结论
总结:HTTPS 是 HTTP 的安全升级版,具备数据加密、身份认证、防篡改的特性,现代网站应优先使用 HTTPS!