什么是 HTTPS?HTTPS 和 HTTP 的区别是什么?

HTTPS 是基于 SSL/TLS 加密的 Web 传输协议,提供数据安全性和身份认证。与 HTTP 相比,HTTPS 使用加密通信以增强安全性。

网络协议 中等 HTTP HTTPS 网络安全

HTTPS(HyperText Transfer Protocol Secure)是在 HTTP 协议基础上通过 SSL/TLS 协议实现加密传输、身份认证和完整性保护的安全通信协议。它与 HTTP 的核心区别如下:

一、核心区别

  1. 安全性(核心区别)
    • HTTP
      数据传输完全明文(未加密),易被中间人攻击截获敏感信息(如密码、银行卡号)。
    • HTTPS
      采用 SSL/TLS 加密传输数据,结合对称加密(高效处理数据)和非对称加密(安全交换密钥),同时提供服务器身份认证(通过 CA 机构颁发的证书)和数据完整性验证(防止篡改)。
  2. 默认端口
    • HTTP 默认使用 80 端口
    • HTTPS 默认使用 443 端口。这是通信协议层的根本性差异。

二、次要差异

  1. 性能开销
    • HTTPS 因加密/解密操作略慢于 HTTP(约增加 12 个数据包),但现代硬件优化已大幅缩小差距,实际体验差异可忽略。
  2. 部署成本
    • HTTPS 需向 CA(证书颁发机构)付费购买 SSL 证书(部分免费证书可用),HTTP 无需额外成本。
  3. 浏览器标识
    • HTTP 站点在浏览器中会被标记「不安全」(如 Chrome 的红色警告)。
    • HTTPS 站点显示「安全锁」标识(增强用户信任)。
  4. 协议栈差异
    graph LR
      HTTP --> TCP
      HTTPS --> SSL/TLS --> TCP
    

    HTTPS 在 HTTP 和 TCP 之间新增 SSL/TLS 加密层(关键安全屏障)。

三、HTTPS 工作原理

sequenceDiagram
  客户端->>服务器: 1. 发起 HTTPS 请求(ClientHello)
  服务器->>客户端: 2. 返回 SSL 证书(含公钥)
  客户端->>服务器: 3. 验证证书,生成对称密钥(用公钥加密)
  服务器->>客户端: 4. 私钥解密获得对称密钥,确认加密通道
  双方->>数据传输: 5. 全程使用对称加密通信

注:非对称加密用于安全交换对称密钥,后续通信使用对称加密(兼顾效率与安全)。