Skip to content

HTTP 和 HTTPS 的区别

约 927 字大约 3 分钟

计算机网络小红书小米

2025-04-3

⭐ 题目日期:

小米 - 2025/4/2,小红书 - 2024/11/11

📝 题解:

HTTP 与 HTTPS 的核心区别

img


详细解析

  1. 安全性
  • HTTP: 所有数据(如密码、信用卡号)以明文形式传输,攻击者可通过中间人攻击(MITM)轻松截获或篡改内容。 示例:公共 Wi-Fi 下访问 HTTP 网站,黑客可直接窃取登录信息。
  • HTTPS: 基于 SSL/TLS 协议对数据进行加密,确保:
    • 保密性:数据加密后传输,第三方无法读取。
    • 完整性:数据防篡改,接收方会验证数据是否被修改。
    • 身份认证:通过证书验证服务器身份,防止钓鱼网站。

  1. 加密机制
  • SSL/TLS 协议: HTTPS 的核心是 SSL(Secure Sockets Layer)或其继任者 TLS(Transport Layer Security),提供以下功能:
    • 握手协议:协商加密算法(如 AES、RSA)和会话密钥。
    • 记录协议:加密数据并附加 MAC(消息认证码)确保完整性。
  • 混合加密
    • 非对称加密:用于握手阶段交换密钥(如 RSA、ECC)。
    • 对称加密:后续通信使用对称密钥(如 AES)加密数据,效率更高。

  1. 证书与 CA
  • SSL 证书: HTTPS 需部署 SSL 证书,证书包含:
    • 域名、公钥、证书有效期、颁发机构(CA)签名等。
    • 类型:DV(域名验证)、OV(组织验证)、EV(扩展验证,显示绿色企业名称)。
  • CA(证书颁发机构): 受信任的第三方机构(如 Let's Encrypt、DigiCert)验证服务器身份后签发证书。 作用:防止中间人伪造服务器身份(如钓鱼网站)。

  1. 性能差异
  • HTTP: 无加密计算,适合对延迟极度敏感的场景(如物联网设备),但牺牲安全性。
  • HTTPS
    • TLS 握手延迟:首次连接需额外 1-2 次 RTT(Round Trip Time)。
    • 优化方案
      • 会话恢复:通过 Session ID 或 Session Ticket 复用之前会话,减少握手次数。
      • TLS 1.3:简化握手流程,仅需 1-RTT 甚至 0-RTT(有安全风险需谨慎使用)。
    • 硬件加速:现代 CPU(如 AES-NI 指令集)显著降低加密开销。

  1. 应用场景
  • 必用 HTTPS
    • 登录、支付、用户隐私数据(如医疗、金融)传输。
    • 所有现代浏览器对 HTTP 页面标记为“不安全”(如 Chrome 的红色警告)。
  • 适用 HTTP
    • 内部网络(如局域网)的非敏感信息传输。
    • 静态内容分发(但建议仍用 HTTPS 避免混合内容问题)。

  1. 部署成本
  • HTTP: 零成本,无需额外配置。
  • HTTPS
    • 证书费用:DV 证书可免费获取(如 Let's Encrypt),OV/EV 证书需付费。
    • 服务器配置:需安装证书并配置 SSL/TLS 参数(如加密套件、协议版本)。
    • 维护成本:定期更新证书(通常 3 个月至 2 年)。

迁移到 HTTPS 的注意事项

  1. 混合内容问题: HTTPS 页面中若加载 HTTP 资源(如图片、脚本),浏览器会阻止并警告。需确保所有资源链接为 https://
  2. 重定向配置: 将 HTTP 请求 301 重定向到 HTTPS,避免内容重复(SEO 友好)。
  3. HSTS(HTTP严格传输安全): 通过响应头 Strict-Transport-Security 强制浏览器仅使用 HTTPS,防止 SSL 剥离攻击。

总结

HTTPS 是 HTTP 的安全升级版,通过加密和身份认证保障数据传输安全。随着网络安全威胁的加剧和浏览器厂商的推动,HTTPS 已成为现代 Web 的标配。尽管初期部署有一定成本,但其在用户信任、SEO 和合规性(如 GDPR)方面的收益远超投入。