http/https

news2025/1/21 13:05:51

http

基本概念

超文本传输协议,是互联网应用最广泛的协议之一,用于从 WWW 服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

https

基本概念

HTTPS是HTTP over SSL的简称,即工作在SSL(或TLS)上的HTTP。说白了就是加密通信的HTTP。

在HTTP之下增加一个安全层,用于保障HTTP的加密传输,在HTTP把数据交给TCP之前先交给TLS进行加密

SSL是TLS的前身
网景公司出于安全考虑开发了HTTPS,
其底层支持就是SSL,后续支持FTP等其他议,
IETF换手,名称随之变为TLS

工作原理

在客户端和服务器之间用非对称加密协商出一套对称密钥,每次发送信息之前将内容加密,收到之后解密,达到内容的加密传输

为什么不直接用非对称加密?

非对称加密由于使用了复杂的数学原理,因此计算相当复杂,如果完全使用非对称加密来加密通信内容,会严重影响网络通信的性能

HTTPS连接建立过程

1. Client Hello

【客户端】向服务器发送一个字节打招呼

附带内容:
1.可选的TLS版本集合
2.加密套件集合:对称加密算法、非对称加密算法、hash算法
3.客户端随机数

2. server Hello

【服务器】服务端发回一个单子节数据

附带内容
1.选定的TLS版本
2.选定的加密套件
3.服务器随机数

3. 服务器证书 信任建立

【服务器】服务器把自己的证书发到客户端,客户端进行验证这个公钥是合法的
目的:获取服务器的公钥
附带:签发机构的证书、根证书
在这里插入图片描述

4. Pre-master Secret

【客户端】客户端发送一个Pre-master Secret的数据,
Pre-master Secret是用公钥进行加密的随机数

【客户端】【服务器】根据双方持有的客户端随机数、服务器随机数、Pre-master Secret计算出Master Secret
【客户端】【服务器】Master Secret生成客户端加密密钥,服务端加密密钥,客户端MAC secret,服务端MAC secret,由这四个可以实现对称加密通信

MAC secret:是HMAC的secret,带密钥的hash,可以验证数据的完整性,也可以验证身份
HMAC:密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code)
HMAC把密钥(对称密钥)和消息放在一起,然后取哈希,可以验证身份。

5. 客户端通知:将使用加密通信

并不是一个很长的字符串告诉服务器,是一个固定的规定好的消息

6. 客户端发送:finished

不是发送finished这几个字母,而是把前面几条信息综合在一起,就是握手相关的消息结合在一起,密钥不会再重新发,把他们用加密密钥进行加密,然后再做一个HMAC,对方服务器收到后会进行验证,从这一步之后,客户端就可以发送它正式发送的应用层信息了

7. 服务器通知:将使用加密通信

8. 服务器发送:finished

通信过程

客户端—>服务器:

客户端使用客户端加密密钥加密并发送消息,服务器使用客户端加密密钥解密

服务器—>客户端:

服务器使用服务器加密密钥加密并发送消息,客户端使用服务器加密密钥解密

防止自己的数据被发送回来被认为是服务器发送的消息

HTTPS优点

    1. 使用 HTTPS 协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
  1. HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,要比 http 协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。
  2. HTTPS 是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻 击的成本。
  3. 谷歌曾在 2014 年 8 月份调整搜索引擎算法,并称“比起同等 HTTP 网站,采用 HTTPS 加密的网站在搜索结果中的排名将会更高”。

缺点

  1. https 握手阶段比较费时,会使页面加载时间延长 50%,增加 10%~20%的耗电。
  2. https 缓存不如 http 高效,会增加数据开销。
  3. SSL 证书也需要钱,功能越强大的证书费用越高。
  4. SSL 证书需要绑定 IP,不能再同一个 ip 上绑定多个域名,ipv4 资源支持不了这种消耗。

http与https的区别

  1. HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。
  2. 使用 HTTPS 协议需要到 CA 证书,一般免费证书较少,因而需要一定费用。
  3. HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
  4. http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
  5. HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。

http2.0

  1. 提升访问速度:请求资源所需时间更少,访问速度更快;
  2. 二进制分帧:HTTP2.0 会将所有的传输信息分割为更小的信息或者帧,并对他们进行二进制编码;
  3. 允许多路复用:多路复用允许同时通过单一的 HTTP/2 连接发送多重请求-响应信息。有了新的分帧机制后,HTTP/2 不再依赖多个TCP 连接去实现多流并行了。每个数据流都拆分成很多互不依赖的帧,而这些帧可以交错(乱序发送),还可以分优先级。最后再在另一端把它们重新组合起来。HTTP 2.0 连接都是持久化的,而且客户端与服务器之间也只需要一个连接(每个域名一个连接)即可。
    改善了:在 HTTP1.1中,浏览器客户端在同一时间,针对同一域名下的请求有一定数量限制(连接数量),超过限制会被阻塞的问题。
  4. 首部压缩:使用 HPACK(HTTP2头部压缩算法)压缩格式对传输的 header 进行编码,减少了 header 的大小;
  5. 服务器端推送:服务器可以对一个客户端请求发送多个响应。服务器向客户端推送资源无需客户端明确的请求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/527356.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LTI连续线性时不变系统能控性证明(格拉姆判据、秩判据)

一、能控性和能达性 1.1、能控性和能达性的定义 能控性:如果在一个有限的时间间隔内,可以用幅值没有限制的输入作用,使偏离系统平衡状态的某个初始状态回复到平衡状态,就称这个初始状态是能控的。 能达性:系统在外控…

【网红营销】海外网红营销怎么做?及注意事项?

随着互联网的发展和全球化的进程,海外网红营销逐渐成为企业推广产品和服务的重要途径。海外网红可以借助其社交媒体平台上的影响力,帮助企业扩大品牌知名度、提升销售业绩。然而,海外网红营销存在着一定的挑战和风险,企业需要制定…

探索将大语言模型用作推荐系统

编者按:目前大语言模型主要问答、对话等场景,进行被动回答。是否可以将大模型应用于推荐系统,进行主动推送呢? 这篇文章回顾了可以将大模型作为推荐系统的理论基础,并重点描述了基于英文和阿拉伯语的购物数据集微调T5-…

菜鸟健身-新手使用哑铃锻炼手臂的动作与注意事项

目录 一、前言 二、哑铃锻炼手臂的好处 三、哑铃锻炼手臂的注意事项 四、哑铃锻炼手臂的基本动作 1. 哑铃弯举 2. 哑铃推举 3. 哑铃飞鸟 五、哑铃锻炼手臂的进阶动作 1. 哑铃侧平举 2. 哑铃俯身划船 六、哑铃锻炼手臂的训练计划 七、总结 一、前言 哑铃是一种非常…

2023年5月天津/南京/成都/深圳CDGA/CDGP数据治理认证报名

6月18日DAMA-CDGA/CDGP数据治理认证考试开放报名中! 考试开放地区:北京、上海、广州、深圳、长沙、呼和浩特、杭州、南京、济南、成都、西安。其他地区凑人数中… DAMA-CDGA/CDGP数据治理认证班进行中,报名从速! DAMA认证为数据管…

MySQL 日志管理与恢复

MySQL日志管理 MySQL的默认日志保存位置为/usr/local/mysql/data 日志开启方式有两种:通过配置文件或者是通过命令 通过命令修改开启的日志是临时的,关闭或重启服务后就会关闭 MySQL日志管理 日志的分类 1.错误日志 用来记录当MySQL启动、停止或运行时…

畅购商城4.0

畅购商城4.0 1.走进电商 1.1电商行业分析 近年来,世界经济正向数字化转型,大力发展数字经济成为全球共识。党的十九大报告明确提出要建设“数字中国”“网络强国”,我国数字经济发展进入新阶段,市场规模位居全球第二,数…

DC-DC直流隔离升压电源模块高压稳压可调输出12v24v48v转60V80V110V150V200V220V250V300V400V500V

特点 效率高达 80%以上1*2英寸标准封装单电压输出价格低稳压输出工作温度: -40℃~85℃阻燃封装,满足UL94-V0 要求温度特性好可直接焊在PCB 上 应用 HRB W2~40W 系列模块电源是一种DC-DC升压变换器。该模块电源的输入电压分为:4.5~9V、9~18V、及18~36V、…

我们拆了一款将ChatGPT“落地”的AI语音交互机器人,八核A7全志R58主控

视频版本拆机:【60块钱,垃圾佬的第一台机器人,国产8核CPU全志R58】 https://www.bilibili.com/video/BV1Qk4y177ja/?share_sourcecopy_web&vd_source6ec797f0de1d275e996fb7de54dea06b 公子小白是一对由狗尾草智能科技推出的人工智能机…

Pytorch代码——持续更新

1 连续两个argsort 返回张量中每个元素对应的排名 torch.argsort(torch.argsort(pred, dim1, descendingTrue),dim1,descendingFalse) 例子 使用一个argsort后得到的是张量中按列降序排序后的索引, 再使用一个argsort后是张量中每一个元素的排名。 例如第2行中…

港联证券|股票分批技巧是什么?分批买进的手续费如何计算?

股票分批是股市中常用操作,根基股票的波动不同,将资金分批投资在不同股价还在时间上。那么股票分批技巧是什么?分批买进的手续费如何计算?下面就由港联证券为大家分析: 股票分批技巧是什么? 1、补仓股票选…

国药集团蒸汽表内网图像识别案例

一、项目需求 项目背景:国药集团MES系统硬件仪表数据采集项目 为了实现现场蒸汽表计数据的采集和存储,我们提供了本地内网图像离线识别方案,它可以在不接线的情况下实现对现场蒸汽表计数据的采集,并通过485接口将数据传输到客户内…

Facebook商店和亚马逊店铺:双管齐下,实现多渠道销售

在当今数字化时代,电子商务已成为商业领域中不可或缺的一部分。随着消费者购物行为的转变,企业需要利用多种渠道来吸引潜在客户并增加销售额。 在这个过程中,Facebook商店和亚马逊店铺成为了两个备受关注的选择。本文将深入探讨如何通过同时…

基于Web智慧工业园3D可视化安全生产管控系统

建设背景 随着经济飞速发展和产业创新升级,作为新经济形式的重要载体,工业园区污染严重、安全生产难以监管等问题日益突出。工业园区作为工业高质量发展的重要载体和平台,工厂聚集,安全生产风险集中,在这个背景下&…

数据结构(堆)

文章目录 一、概念二、堆的使用三、PriorityQueue 介绍3.1 PriorityQueue 的特性3.2 PriorityQueue 的方法3.3 集合框架中PriorityQueue的比较方式 四、堆的应用 一、概念 1.什么是优先级队列 队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数…

登录的两种方式

Cookie 起源:「购物车」功能需求 工作机制 1.服务器需要客户端保存的内容,放在set-cookie headers里返回,客户端会自动保存 2.客户端保存的cookies,会在之后的所有请求里都携带进cookie header里发送给服务器 3.客户端保存coo…

服务(第二十一篇)mysql高级查询语句(二)

①视图表: 视图表是虚拟表,用来存储SQL语句的定义 如果视图表和原表的字段相同,是可以进行数据修改的; 如果两者的字段不通,不可以修改数据。 语法: 创建:create view 试图表名 as ... 查…

一分钟图情论文:《大学生数字囤积行为的探索性研究——基于个人信息管理视角》

一分钟图情论文:《大学生数字囤积行为的探索性研究——基于个人信息管理视角》 “仓鼠症”是指一些仓鼠为了过冬而囤积大量食物,但由于储藏过多、遗忘储藏地点或者无力储藏,最终使劳动成果白白浪费。在数字时代,我们很多人也成为…

LSTM-理解 Part-1(RNN:循环神经网络)

在之前博主写过涉及到LSTM的博客见下: 机器学习 Pytorch实现案例 LSTM案例(航班人数预测) 该项目原始的博客版本是: Time Series Prediction using LSTM with PyTorch in Python 循环神经网络RNN:Recurrent Neural Ne…

B树的插入操作

我的错误插入操作的详细解析 前言一、实现思路二、思路梳理1.我需要解决的问题2.具体函数实现 总结 前言 本文主要记载了我在实现递归插入操作的思路历程,以及遇到的问题和梳理操作的过程。我之前的实现方法有一种很大的问题,因为不是尾递归实现&#x…