Skip to content

HTTP 和 HTTPS 有什么区别

HTTP 和 HTTPS 区别

  • HTTP(HyperText Transfer Protocol)
  • 超文本传输协议,明文传输数据。
  • HTTPS(HTTP Secure)
  • HTTP 的安全版,基于 SSL/TLS 加密传输。
  • 主要区别
  • 安全性:HTTP 明文,易被拦截;HTTPS 加密,保护数据。
  • 端口:HTTP 默认 80,HTTPS 默认 443。
  • 加密:HTTP 无加密,HTTPS 用 SSL/TLS。
  • 证书:HTTPS 需服务器证书验证身份。

核心点

  • HTTPS 在 HTTP 上加安全层。

1. 区别详解

(1) 安全性

  • HTTP
  • 数据明文传输,易被窃听、篡改(中间人攻击)。
  • HTTPS
  • 数据加密传输,保证机密性、完整性和身份验证。
  • 示例
  • HTTP:密码明文发送。
  • HTTPS:密码加密后传输。

(2) 端口

  • HTTP
  • 默认端口 80。
  • HTTPS
  • 默认端口 443。
  • 意义
  • 区分服务类型,防火墙配置常用。

(3) 加密机制

  • HTTP
  • 无加密,纯文本通信。
  • HTTPS
  • 使用 SSL/TLS:
    1. 对称加密:数据传输(如 AES)。
    2. 非对称加密:密钥交换(如 RSA)。
    3. 证书验证:确保服务器可信。
  • 过程
  • TLS 握手协商密钥,加密通信。

(4) 证书

  • HTTP
  • 无需证书,任何服务器可响应。
  • HTTPS
  • 需 CA(证书颁发机构)签发的数字证书。
  • 客户端验证证书,防伪装。
  • 示例
  • https://www.google.com 有绿色锁标志。

2. HTTPS 工作原理

  • TLS 握手
  • 客户端发送 Client Hello(支持的加密算法)。
  • 服务器回复 Server Hello 和证书。
  • 客户端验证证书,生成会话密钥。
  • 双方用密钥加密通信。
  • 结果
  • 安全通道建立。

图示

HTTP:  Client --> [明文] --> Server
HTTPS: Client --> [TLS 握手] --> [加密] --> Server

3. 对比表

特性 HTTP HTTPS
安全性 明文,不安全 加密,安全
端口 80 443
协议层 应用层 应用层 + SSL/TLS
证书 无需 需要
性能 稍快 握手有开销

4. 延伸与面试角度

  • 性能
  • HTTPS 握手增加 1-2 RTT,HTTP/2 优化弥补。
  • SEO
  • Google 优先 HTTPS 站点。
  • 实际应用
  • HTTP:内部测试。
  • HTTPS:电商、银行。
  • 面试点
  • 问“区别”时,提加密和端口。
  • 问“原理”时,提 TLS 握手。

总结

HTTP 是明文协议,HTTPS 通过 SSL/TLS 加密并验证身份,区别在安全性、端口和证书。HTTPS 是现代标准,保障数据安全。面试时,可提握手流程或举例,展示理解深度。