当前位置: 首页 > news >正文

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

目录

一、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 服务的基石。

http://www.xdnf.cn/news/1418041.html

相关文章:

  • 【 VPX638】基于KU115 FPGA+C6678 DSP的6U VPX双FMC接口通用信号处理平台
  • 配送算法19 Two Fast Heuristics for Online Order Dispatching
  • Objective-C 的坚毅与传承:在Swift时代下的不可替代性优雅草卓伊凡
  • Java面试宝典:Redis高并发高可用(主从复制、哨兵)
  • 【算法基础】链表
  • PowerPoint和WPS演示如何在放映PPT时用鼠标划重点
  • 趣味学RUST基础篇(String)
  • rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(二十二)控件的可见、可用性
  • 如何从 STiROT 启动 STiROT_Appli_TrustZone LAT1556
  • JS闭包讲解
  • Elasticsearch面试精讲 Day 4:集群发现与节点角色
  • 《JAVA EE企业级应用开发》第一课笔记
  • 记录第一次使用docker打包镜像的操作步骤以及问题解决
  • 初识JVM
  • Personality Test 2025
  • 正则表达式与grep文本过滤详解
  • 【C++游记】AVL树
  • 刷题日记0901
  • (3dnr)多帧视频图像去噪 (二)
  • MySQL内置的各种单行函数
  • 强化学习实战:从零搭建自主移动机器人避障仿真(1)— 导论篇
  • 【LeetCode热题100道笔记+动画】乘积最大子数组
  • AI+PLM如何重构特种/高端复杂装备行业的工艺管理?
  • 再见 K8s!3款开源的云原生部署工具
  • 开源模型应用落地-模型上下文协议(MCP)-为AI智能体打造的“万能转接头”-“mcp-use”(十二)
  • [开源项目] Tiny-RAG :一套功能完善、高度可配的本地知识库问答解决方案
  • 深度学习篇---ShuffleNet网络结构
  • 广电手机卡到底好不好?
  • 科学研究系统性思维的方法体系:数据收集
  • 【Audio】切换至静音或振动模式时媒体音自动置 0