前言
本篇介绍了构造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无法对重新计算的签名重新加密,所以篡改失败;
总结
✨✨✨各位读友,本篇分享到内容如果对你有帮助给个👍赞鼓励一下吧!!
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!