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


前言

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



本文开始

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,说明证书中的数据被修改过,客户端浏览器报错;
【注】每个客户端的操作系统上都有权威机构的公钥pub3,这里的pub3是用来解密证书的; (私钥pri3只有权威机构有)
服务器端在申请证书后,会把自己的公钥pub2放入证书,再使用权威机构放发的私钥pri3重新加密证书,发给客户端;

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

在这里插入图片描述


总结

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

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值