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

linux学习笔记(43)网络编程——HTTPS (补充)

HTTPs

HTTPS(HyperText Transfer Protocol Secure)是在 HTTP 基础上加入 SSL/TLS 加密协议 的安全版协议,核心目标是解决 HTTP 明文传输的安全问题(窃听、篡改、伪装)。下面从 加密原理、工作流程、核心优势 三个方面详细讲解:

一、HTTPS 的核心:SSL/TLS 加密层

HTTPS 并非全新协议,而是 “HTTP + SSL/TLS” 的组合:
  • 底层仍基于 TCP 协议建立连接。
  • 在 HTTP 和 TCP 之间增加 SSL/TLS 层,负责数据加密、身份验证和完整性校验。
SSL(Secure Sockets Layer)是早期协议,已被 TLS(Transport Layer Security)取代(目前主流是 TLS 1.2/1.3),但习惯上仍统称 “SSL 加密”。

二、HTTPS 的加密方式:混合加密机制

HTTPS 采用 “非对称加密 + 对称加密” 结合的方式,兼顾安全性和效率:
  1. 非对称加密
  • 有一对密钥:公钥(公开,可发给任何人)和 私钥(保密,仅服务器持有)。
  • 特点:用公钥加密的数据,只能用私钥解密;用私钥加密的数据(签名),只能用公钥验证。
  • 作用:在通信初期安全交换 对称加密的密钥(避免密钥被窃听),并验证服务器身份。
  1. 对称加密
  • 只有一个密钥(会话密钥),加密和解密用同一密钥。
  • 特点:加密效率极高(比非对称加密快 100-1000 倍),适合大量数据传输。
  • 作用:用于后续所有 HTTP 数据的加密传输(因为非对称加密效率低,不适合大数据)。

三、HTTPS 的工作流程(TLS 握手过程)

HTTPS 通信前,客户端和服务器会先完成 TLS 握手(协商加密规则、交换密钥、验证身份),再用协商好的密钥传输数据。以主流的 TLS 1.2 为例,简化流程如下:
  1. 客户端发起请求(Client Hello)
  • 客户端向服务器发送支持的 TLS 版本(如 TLS 1.2)、加密算法列表(如 RSA、AES)、一个随机数(Client Random)。
  1. 服务器回应(Server Hello)
  • 服务器从客户端的列表中选择合适的 TLS 版本和加密算法,返回自己的随机数(Server Random),并附上 服务器证书(包含公钥和网站域名等信息)。
  1. 客户端验证证书
  • 客户端检查证书有效性:是否由信任的 CA 机构颁发、是否过期、域名是否匹配当前访问的网站。
  • 若证书无效,浏览器会提示 “不安全” 警告(用户可选择继续或终止);若有效,客户端从证书中提取服务器的 公钥
  1. 客户端生成会话密钥并加密传输
  • 客户端生成一个新的随机数(Premaster Secret),用服务器的公钥加密后发给服务器(只有服务器的私钥能解密)。
  • 客户端和服务器分别用之前的两个随机数(Client Random + Server Random)和 Premaster Secret 计算出 相同的会话密钥(对称加密密钥)。
  1. 确认握手完成
  • 客户端和服务器分别用会话密钥加密一条 “握手完成” 消息发给对方,验证密钥是否一致。
  • 握手成功后,后续所有 HTTP 数据都用 会话密钥 进行对称加密传输。

四、HTTPS 的核心优势

  1. 数据加密:所有传输数据被会话密钥加密,第三方即使拦截也无法解密(解决 “窃听” 问题)。
  2. 身份验证:通过 CA 证书验证服务器身份,防止恶意分子伪造网站(如钓鱼网站,解决 “伪装” 问题)。
  3. 数据完整性:传输过程中会对数据生成 “消息摘要”(哈希值),若数据被篡改,接收方会发现摘要不匹配(解决 “篡改” 问题)。

五、HTTPS 的额外细节

  • 证书成本:SSL 证书可从 CA 机构申请,有免费证书(如 Let's Encrypt)和付费证书(验证更严格,适合金融、电商等场景)。
  • 性能影响:TLS 握手会增加 1-2 个 RTT(网络往返时间)的延迟,加解密也会消耗服务器资源,但现代优化(如 TLS 1.3 简化握手、硬件加速)已大幅降低影响。
  • SEO 友好:搜索引擎(如 Google、百度)优先收录 HTTPS 网站,HTTP 网站可能被标记 “不安全” 影响用户信任。

总结

HTTPS 通过 SSL/TLS 协议的混合加密机制,在不改变 HTTP 核心逻辑的前提下,解决了数据传输的安全问题,是目前互联网的标准安全协议。其核心流程是 “用非对称加密交换对称密钥,用对称密钥加密实际数据”,既保证了安全性,又兼顾了传输效率。

http跟https的区别

HTTP(HyperText Transfer Protocol,超文本传输协议)和 HTTPS(HyperText Transfer Protocol Secure,超文本传输安全协议)是用于在网络上传输数据的协议,核心区别在于安全性,具体差异如下:

1. 安全性

  • HTTP:明文传输数据,所有信息(包括账号密码、支付信息等)在网络中以明文形式传递,容易被第三方窃听、篡改或伪造(如 “中间人攻击”),安全性极低。
  • HTTPS:通过 SSL/TLS 协议对数据进行加密传输,相当于在 HTTP 层和 TCP 层之间增加了一个加密层。数据在传输前会被加密,第三方即使拦截到数据也无法解密,且能验证服务器身份(防止伪装)和数据完整性(防止篡改),安全性极高。

2. 协议端口

  • HTTP:默认使用 80 端口(如 http://example.com:80 可简写为 http://example.com)。
  • HTTPS:默认使用 443 端口(如 https://example.com:443 可简写为 https://example.com)。

3. 证书要求

  • HTTP:无需证书,任何服务器都可以直接使用 HTTP 提供服务。
  • HTTPS:需要向权威证书机构(CA,如 Let's Encrypt、Symantec) 申请 SSL 证书(部分免费,部分付费),用于验证服务器身份。浏览器会内置信任的 CA 列表,若证书无效(如过期、非信任 CA 颁发),会提示 “不安全” 警告。

4. 传输速度

  • HTTP:无需加密、解密过程,传输效率更高(少了 SSL/TLS 握手和加密的开销)。
  • HTTPS:由于增加了 SSL/TLS 握手(协商加密算法、交换密钥)和数据加解密步骤,会产生额外的时间和性能消耗,传输速度略慢于 HTTP(但现代优化已大幅缩小差距)。

5. 应用场景

  • HTTP:适用于对安全性要求极低的场景(如静态资源展示、非敏感信息浏览),但目前已逐渐被淘汰,主流网站均不再使用。
  • HTTPS:适用于所有涉及敏感信息的场景(如登录、支付、电商、社交等),是目前互联网的主流协议,也是浏览器(如 Chrome、Firefox)推荐的安全标准(对 HTTP 网站会标记 “不安全”)。

总结

对比项
HTTP
HTTPS
安全性
明文传输,不安全
SSL/TLS 加密,安全
端口
80
443
证书
无需
需要 CA 颁发的 SSL 证书
速度
较快(无加密开销)
稍慢(有加密 / 握手开销)
核心差异
无加密层
基于 HTTP + SSL/TLS 加密层
简单来说,HTTPS 是 “加密版的 HTTP”,通过加密解决了 HTTP 的安全漏洞,是目前网络通信的主流安全协议。
http://www.dtcms.com/a/503377.html

相关文章:

  • HTTP Client/Server 理论
  • 怎么申请域名建立网站宁波网站建设开发
  • C++:内存管理 |内存分布|回顾|new/delete底层|实现原理|拓展|定位new|池化技术|总结区别对比
  • 上街网站建设做语文高考题网站
  • 前端基础二、CSS(一)、CSS基础知识
  • 【MySQL】第三章 运算符
  • 智能机器人梯控系统(含二维码/刷卡/人脸识别)安装布线指南,结合工程规范与安全要点进行结构化优化,内容清晰、可操作性强
  • 突破 @Valid 局限!Spring Boot 编程式验证深度解析与复杂场景实战
  • 盐城市规划建设局网站做北美市场用哪个网站
  • 【攻防实战】系列二-使用metasploit打穿某集团(下)
  • 单词搜索 II · Word Search II
  • css `dorp-shadow`
  • 做网站内容管理器要吗免费的网站制作
  • 有限理性的边界与超越:人类如何在认知局限中走向更明智的决策
  • 【参赛心得】从“碰一碰”到“服务流转”:HarmonyOS创新赛金奖作品“智游文博”全流程复盘!
  • 网站推广服务报价表动态门户网站建设价格
  • 网站建设公司的排名濮阳市做网站
  • 【金仓数据库产品体验官】实战测评:电科金仓数据库接口兼容性深度体验
  • RabbitMQ 入门:基于 AMQP-CPP 的 C++ 实践指南与二次封装
  • google外贸网站推广企业的网站公告怎么制作
  • Spring 源码学习(十四)—— HandlerMethodArgumentResolver
  • Git拉取代码报无权限的错误处理方案
  • 棋牌网站管理后台嗅探查找方法(2025最新)
  • 沈阳微信网站建设大连网站建设开发
  • 中英文企业网站模板wordpress插件 标签
  • 生成式引擎优化(GEO):五大 AI 引擎赋能多场景的技术与实践指南
  • 从邮票到Labubu:四十年中国收藏与潮流风潮的演变逻辑
  • 天猫网站左侧导航是怎么做的青岛建站推广
  • Linux中I2C常见问题三
  • C++初阶(14)list