> 技术文档 > HTTP 和 HTTPS 的区别(详细解析)

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 的核心区别

HTTP HTTPS 安全性 明文传输,容易被监听、劫持、篡改 采用 SSL/TLS 加密,安全性高 端口 80 443 加密方式 无加密,明文传输 对称加密 + 非对称加密 数据完整性 可能被篡改,无法校验数据完整性 数据完整性校验,防篡改 身份认证 无法验证服务器身份,容易遭遇中间人攻击 数字证书认证,防止假冒网站 速度 速度快(无加密过程) 速度略慢(需要加密解密) SEO 优势Google 等搜索引擎优先收录 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 结合两者:

  1. 非对称加密 交换密钥
  2. 对称加密 传输数据
(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 的缺点

  1. 性能损耗

    • HTTPS 需要 加密/解密,略微影响性能
    • 但 TLS 1.3 优化握手速度
  2. 证书费用

    • SSL 证书由 CA 机构颁发,部分证书收费
    • Let’s Encrypt 提供免费证书
  3. 兼容性问题

    • 老旧设备可能不支持 TLS 1.3

7. 结论

特性 HTTP HTTPS 加密SSL/TLS 加密 身份认证CA 证书认证 数据完整性防止篡改 防监听 防劫持 SEO 友好是(搜索引擎优先收录) 性能 快(无加密) 略慢(TLS 1.3 优化)

总结:HTTPS 是 HTTP 的安全升级版,具备数据加密、身份认证、防篡改的特性,现代网站应优先使用 HTTPS!