深入理解 HTTP 与 HTTPS:区别以及 HTTPS 加密原理

发布于:2025-09-03 ⋅ 阅读:(23) ⋅ 点赞:(0)

目录

一、HTTP 与 HTTPS 的基本概念

二、HTTP 与 HTTPS 的核心区别

三、为什么需要 HTTPS?

四、HTTPS 的加密通信原理(核心)

1. 客户端发起 HTTPS 请求

2. 服务端返回 SSL/TLS 证书

3. 客户端验证证书

4. 客户端生成对称密钥并用公钥加密

5. 服务端用私钥解密获取对称密钥

6. 双方使用对称密钥加密通信

五、为什么 HTTPS 既用非对称又用对称加密?

六、总结:HTTP 与 HTTPS 的本质区别


一、HTTP 与 HTTPS 的基本概念

  • HTTP(HyperText Transfer Protocol)​​:超文本传输协议,是 Web 应用中最基础的通信协议,运行在 ​TCP 协议之上,默认端口 80。它以 ​明文方式传输数据,不提供任何加密或身份验证机制。
  • HTTPS(HTTP Secure)​​:在 HTTP 的基础上增加了 ​SSL/TLS 加密层,全称为 ​HTTP over TLS/SSL,运行在 ​TCP 协议之上,默认端口 443。它通过加密通信内容,解决了 HTTP 的安全缺陷。

二、HTTP 与 HTTPS 的核心区别

对比维度

HTTP

HTTPS

协议基础

应用层协议,明文传输

HTTP + SSL/TLS,加密传输

端口

80

443

安全性

不安全,数据容易被窃听、篡改

安全,支持加密、身份验证与数据完整性

数据传输

明文,容易被中间人攻击

加密传输,防止窃听与篡改

证书机制

需要 SSL/TLS 数字证书,通常由 CA 签发

SEO 与浏览器支持

逐渐被标记为“不安全”

被浏览器与搜索引擎优先推荐,有利于 SEO

适用场景

静态页面、内部系统等非敏感场景

登录、支付、用户数据传输等安全敏感场景

核心结论:​HTTPS 是 HTTP 的安全版本,解决了数据传输的安全性问题,是现代 Web 应用的标配。​


三、为什么需要 HTTPS?

在 HTTP 协议下,​浏览器与服务器之间的所有通信都是明文的,这意味着:

  1. 数据可被窃听​:中间人可以监听网络流量,获取用户名、密码、Cookie 等敏感信息。
  2. 数据可被篡改​:攻击者可以修改传输内容,比如将支付金额篡改,或将脚本注入页面。
  3. 身份无法验证​:用户无法确认当前访问的服务器是否为真正的服务提供者,存在被冒充的风险。

HTTPS 通过加密、身份验证与数据完整性校验,从根本上解决了上述问题。​


四、HTTPS 的加密通信原理(核心)

HTTPS 的安全性来源于 ​SSL/TLS 协议,其核心是:​使用非对称加密安全地传递一个对称密钥,之后使用对称加密保护通信内容。下面是 HTTPS 建立连接的主要流程:

1. 客户端发起 HTTPS 请求

用户通过浏览器访问 https://example.com,客户端向服务器发起 HTTPS 请求,默认使用 443 端口。


2. 服务端返回 SSL/TLS 证书

服务端收到请求后,返回自身的 ​SSL 数字证书,该证书包括:

  • 服务器公钥
  • 证书持有者信息(如域名)
  • 证书有效期
  • 由 ​CA(Certificate Authority,证书颁发机构)​​ 签发的数字签名

该证书用于证明“我是合法的服务端,不是中间人冒充的”。


3. 客户端验证证书

客户端接收到证书后,会进行如下验证:

  • 证书是否由受信任的 CA 签发
  • 证书是否过期
  • 证书上的域名是否与当前访问的域名一致
  • 证书签名是否合法

如果验证失败,浏览器会提示“连接不安全”或“证书无效”。


4. 客户端生成对称密钥并用公钥加密

验证通过后,客户端会生成一个随机的对称密钥(会话密钥)​,用于后续通信内容的加密。然后,客户端使用服务端证书中的 ​公钥加密该对称密钥,并将加密后的密钥发送给服务端。

为什么用公钥加密?因为只有服务端拥有对应的私钥,可以解开这个对称密钥,确保传输安全。


5. 服务端用私钥解密获取对称密钥

服务端收到加密的对称密钥后,使用自己的 ​私钥解密,得到客户端生成的对称密钥。

至此,客户端和服务端都持有了相同的对称密钥,且该密钥是通过安全方式传递的。


6. 双方使用对称密钥加密通信

接下来,客户端与服务端之间的所有数据传输(如 HTTP 请求与响应),都使用这个 ​对称密钥进行加密与解密。由于对称加密效率高,适合大数据量的加密传输。


五、为什么 HTTPS 既用非对称又用对称加密?

这是 HTTPS 设计的精华所在:

加密类型

用途

特点

为什么用在这里?

非对称加密(如 RSA)​

安全地传递对称密钥

安全性高,但速度慢

用来加密“对称密钥”,确保密钥传输不被窃取

对称加密(如 AES)​

加密实际通信内容

速度快,适合大数据量

双方使用同一个密钥加密数据,效率高

总结:​非对称加密用于安全地协商出一个密钥,对称加密用于高效地加密通信内容。​


六、总结:HTTP 与 HTTPS 的本质区别

项目

HTTP

HTTPS

传输方式

明文传输,不安全

加密传输,安全可靠

协议层

应用层协议

HTTP + SSL/TLS 协议

端口

80

443

证书

需要权威机构签发的 SSL 证书

适用场景

非敏感数据展示

登录、支付、用户信息等敏感操作

用户信任

浏览器提示“不安全”

浏览器显示安全锁,增强用户信任

HTTPS 已不再是“可选项”,而是“必选项”​。无论是从用户隐私、数据安全,还是从 SEO、浏览器兼容性、企业合规等角度考虑,部署 HTTPS 都是现代 Web 服务的基石。


网站公告

今日签到

点亮在社区的每一天
去签到