计算机网络 - http协议 与 https协议(2)


前言

本篇介绍了构造http请求的的五种方式,简单的使用postman构造http请求,进一步了解https, 学习https的加密过程,了解对称密钥与非对称密钥对于加密是如何进行的,如有错误,请在评论区指正,让我们一起交流,共同进步!


文章目录

    • 前言
    • 1. 构造http请求的方式
    • 2. https - 在http上加密
      • 2.1 ***为什么会有https?***
      • 2.2 加密方式
      • 2.3 https加密 基本过程
        • 1)使用对称密钥 key 加密数据
        • 2)引入 非对称密钥
        • 3)中间人攻击
        • 4)引入证书
    • 总结

本文开始

1. 构造http请求的方式

1) 直接在浏览器中的地址栏中输入一个 url, 就会构造一个get请求;
2)在html中一些特殊的标签,也会触发 get 请求;
例如:① link ② img中的src属性 ③ a ④ script 等等
3)html中 form 表单可触发 get 和 post请求

在这里插入图片描述
在这里插入图片描述
【注】form 表单只支持 get 与 post

4)ajax 构造http 请求 - 通过 jquery 中的api构造
【注】$ 是特殊的全局变量,可用 jQuery 代替 $;success是回调函数,不是马上执行,需要执行的时候马上处理响应;(body是响应的正文)

在这里插入图片描述

5)使用 postman 工具直接构造http请求
下载完后,postman 使用流程:
① 首先创建 workspace

在这里插入图片描述

② 创建workspace 填写具体信息

在这里插入图片描述

③ 创建完毕workspace 点击 + 号创建标签页

在这里插入图片描述
④ 点击save 可以修改名称,例如修改名称为 “请求test”
在这里插入图片描述

⑤ 点击构造目标请求

在这里插入图片描述

⑥ 查看构造完成的请求

在这里插入图片描述

⑦ postman 可以代码生成请求

在这里插入图片描述

2. https - 在http上加密

2.1 为什么会有https?

https 是在http上加了一层密,为了减少例如运行商劫持,黑客篡改这样的事情发生,所以就有了https;

明文:在网络上传输数据,没有加密的数据;
密文:在网络上传输数据,经过加密的数据;

2.2 加密方式

① 对称加密 :只有一个密钥 key,且加密和解密使用同一个密钥;
明文 + 密钥 =》密文
密文 + 密钥 =》明文
优点:计算速度快;
② 非对称加密:有两个密钥,公钥 public, 私钥 private
明文 + 公钥 =》密文 或 明文 + 私钥 =》密文
密文 + 私钥 =》 明文 或 密文 + 公钥 =》明文

2.3 https加密 基本过程

1)使用对称密钥 key 加密数据

使用对称密钥,保证业务数据的安全;

思想:直接传输的数据,是明文不安全,对数据加密变为密文,密文需要对应的密钥解密,每个客户端的密钥都是不同的,需要客户端将自己生成的对称密钥 key 发送给服务器;

传输密钥会发生的问题:在网络传输过程中密钥key可能会别黑客进行截获,所以需要对对称密钥key进行再次加密,引入了 非对称密钥 对 对称密钥 进行加密;

在这里插入图片描述

2)引入 非对称密钥

目的:对 对称密钥 进行加密传给服务器;非对称密钥,安全传输对称密钥;

服务器生成一对非对称密钥:公钥(pub), 私钥(pri);
思想:客户端首先请求服务器公钥pub, 客户端获取公钥pub, 会对自己生成的对称密钥key进行加密,再传输给服务器;黑客可以获取密文但是此时无服务器私钥无法解密;服务器此时获取对称密钥key, 之后客户端与服务器之间使用密钥key加密传输数据;

会产生的问题:黑客自己构造出一对非对称密钥,与客户端进行交互获取密钥key, 再与服务器交互将密钥传输给服务器,此时客户端再与服务器交互黑客就看以获取它们之间的数据;由此引入中间人攻击;

非对称密钥传输过程如图:

三个密钥,客户端的对称密钥key, 服务器公钥pub,私钥pri;在这里插入图片描述

3)中间人攻击

中间人攻击,黑客能拿到对称密钥
思想:黑客通过自己生成公钥pub2, 私钥pri2, 将自己的公钥pub2传给客户端,客户端使用pub2加密对称密钥key再传输;此时黑客就能通过自己的私钥pri2解密得到对称密钥key;黑客将服务器传来的公钥pub记录,得到密钥后将对称密钥key重新加密传输给服务器,服务器就能通过服务器私钥pri解密得到key; 所以之后的数据就会被黑客知道;

在这里插入图片描述

4)引入证书

引入证书,客户端能检验该公钥是否正确;

1.了解证书中基本包含的信息
服务器域名,证书的过期时间,证书颁发机构名称,服务器公钥,加密后的签名等;

【注】签名:就是校验和,对证书中的所有属性进行计算的一个值
,会被机构的私钥进行加密;

2.客户端如何检验证书中的签名?(得到两次签名看是否一致)
① 首先得到证书中的签名,客户端使用操作系统中自带的权威机构的私钥解密得到校验和sum1
② 客户端使用相同的算法重新计算一遍签名,得到校验和sum2
③ 如果sum1 == sum2,说明证书没有被篡改过,可以使用里面的公钥;如果sum1 != sum2,说明证书中的数据被修改过,客户端浏览器报错;
【注】每个客户端的操作系统上都有权威机构的私钥pri3;

3.为什么黑客会篡改失败呢?
黑客篡改过程:
① 黑客可以获取到证书的服务器公钥pub, 替换自己的公钥pub2;
② 黑客根据证书重新计算签名;
③ 黑客没有权威机构的私钥pri3无法对重新计算的签名重新加密,所以篡改失败;

在这里插入图片描述


总结

✨✨✨各位读友,本篇分享到内容如果对你有帮助给个👍赞鼓励一下吧!!
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构算法题——链表

leetcode-2.两数之和 leetcode-2.两数之和 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数…

Linux调优–I/O 调度器

Linux 的 I/O 调度器是一个以块式 I/O 访问存储卷的进程,有时也叫磁盘调度器。Linux I/O 调度器的工作机制是控制块设备的请求队列:确定队列中哪些 I/O 的优先级更高以及何时下发 I/O 到块设备,以此来减少磁盘寻道时间,从而提高系…

【PCIE】hot-reset和link disable

Hot reset 规则 如果上游伪端口(Pseudo Port)的任何一个通道连续接收到两个带有热复位位设置为1b、禁用链路位和回环位设置为0b的TS1有序集合,并且两个伪端口上的任何一个通道(接收到TS1有序集合)要么收到EIOS&#xf…

通俗易懂生成对抗网络GAN原理(二)

生成对抗网络(Generative Adversarial Network, GAN)的原理 学习李宏毅机器学习课程总结。 前面学习了GAN的直观的介绍,现在学习GAN的基本理论。现在我们来学习GAN背后的理论。 引言 假设x是一张图片(一个高维向量)…

DevOps系列文章 之 SnakeYAML解析与序列化YAML

1、简述 如何使用SnakeYAML库将YAML文档转换为Java对象,以及JAVA对象如何序列化为YAML文档。 在DevOps平台系统中是基础的能力支持,不管是spring boot 的配置还是K8S 资源清单yaml 2、项目设置 要在项目中使用SnakeYAML,需要添加Maven依赖…

百度网盘删除“我的应用数据”文件夹

方法一:电脑端 工具链接, BaiduPCS-Go-3.6.8-windows-86.zip - 蓝奏云 电脑端下载解压运行,弹出浏览器窗口和命令行,在浏览器中输入百度网盘账号密码,登录。 之后会需要输入验证码,之后使用手机号或者邮…

恒生电子探路金融大模型

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 近日,恒生电子和旗下子公司恒生聚源正式发布基于大语言模型技术打造的数智金融新品:金融智能助手光子和全新升级的智能投研平台WarrenQ。此外,恒生电子金融行业大模型LightGPT也首次对外亮…

Ctfshow web入门 nodejs篇 web334-web344

CTFshow NodeJs web334 前言:做原型链污染,入门的话个人建议先看看P神的文章,只看前四部分就行了。 深入理解 JavaScript Prototype 污染攻击 | 离别歌 (leavesongs.com) 然后也得有一点js基础,不用太多,要不然看起…

web安全php基础_搭建php环境

首先打开phpstudy的网站栏点击创建网站,新建一个网站(域名随便输反正是局域网)然后点击确认 如下,网站便创建好了 打开浏览器输入刚刚创建网站时输入的域名,即可看见我们的网站 然后网站好了,就可以新建项…

Vue和React的区别?

目录 共同点 1. 数据驱动视图 2. 组件化 3. Virtual DOM 不同点 1. 核心思想不同 2. 组件写法差异 3. diff算法不同 4. 响应式原理不同 5. 其他不同点 首先找到 Vue 和 React 的共性,它们被用于解决什么问题, 然后再挖掘各自独特的个性、设计原…

基于WebSocket的简易聊天室的基本实现梳理

一,前言 目前在很多网站为了实现推送技术所用的技术都是 Ajax 轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。HTTP 协议是一种无状态的、无连…

【Rust】所有权

文章目录 所有权stack与heap所有权存在的原因所有权规则变量作用域String类型内存和分配变量与数据交互的方式1.Move2.Clone3.Copy 所有权与函数返回值与作用域引用借用可变引用悬空引用Dangling References引用的规则切片字符串切片将字符串切片作为参数传递其他类型的切片 所…