15-2.【HTTP】HTTP 与 HTTPS 的区别?HTTPS 为什么比 HTTP 安全?

3 阅读2分钟

简单来说,HTTPS = HTTP + SSL/TLS。如果把 HTTP 比作在明信片上写信,那么 HTTPS 就是把信装进了一个防弹保险箱,只有收件人才能打开。

1. HTTP 与 HTTPS 的核心区别

特性HTTP (HyperText Transfer Protocol)HTTPS (HyperText Transfer Protocol Secure)
安全性明文传输,不加密加密传输,身份认证
端口默认 80默认 443
证书不需要证书需要向 CA(数字证书认证机构)申请 SSL 证书
速度较快(直接连接)略慢(需进行握手、加密解密计算)
SEO权重普通搜索引擎(如 Google/百度)优先收录

2. HTTPS 为什么更安全?

HTTPS 的安全性主要由 SSL/TLS 协议 提供,它解决了 HTTP 的三个核心安全隐患:窃听、篡改、冒充

A. 内容加密 (Encryption) —— 防止窃听

HTTPS 使用了对称加密非对称加密结合的方式:

  • 非对称加密:用于在连接初期“交换密钥”。客户端用服务器的公钥加密,只有服务器的私钥能解开。
  • 对称加密:一旦连接建立,双方就使用协商好的“对称密钥”来加解密后续数据。这样既保证了传输速度,又保证了内容不被中间人偷看。

B. 数据完整性 (Integrity) —— 防止篡改

HTTPS 在传输数据时会附带一个 数字签名(MAC) 。如果黑客在传输过程中修改了数据(例如篡改了转账金额),客户端在校验签名时就会发现数据不匹配,从而报错并拒绝接收。

C. 身份认证 (Authentication) —— 防止冒充

这是通过 SSL 证书 实现的。

  • 如果没有 HTTPS,黑客可以搭建一个假冒的银行网站。
  • 有了 HTTPS,浏览器会向 CA 机构验证该网站的证书是否合法。如果证书伪造或过期,浏览器会立刻弹出安全警告。

3. HTTPS 的工作原理(简化版)

  1. 客户端发起请求:向服务器请求 HTTPS 连接。
  2. 服务器返回证书:包含服务器的公钥和证书信息。
  3. 客户端验证:浏览器检查证书是否由权威机构颁发、是否过期。
  4. 协商对称密钥:客户端生成一个随机数(对称密钥),用服务器的公钥加密后发给服务器。
  5. 开始加密传输:双方从此开始使用这个随机数进行对称加密通信。

总结

HTTPS 不仅仅是为了“加密数据”,更是为了建立一套信任体系。在现代 Web 环境下(包括 iOS 的 App Transport Security 策略),HTTPS 已经成为了事实上的强制标准。