2022.7.20学习笔记
一、Session
SESSION的流程
1、客户端输入账户和密码,登录成功,在服务端生成一个SESSIONID同时存储在服务端(DB or Redis)
2、服务端把生成的SESSIONID通过响应头中的Set-Cookie返回给客户端
3、再系统下个请求中,比如查看个人主页,发送个人主页请求的时候,会在请求头中的Cookie中带上服务端返回来的SESSIONID发送给服务端
4、服务端接收到客户端发送过来的SESSIONID和存储在自己本地的SESSIONID之间会做一个对比
如果一致,允许访问个人主页
6、如果不一致,就重定向到登录的页面
Session与Cookie相同点:cookie和session都是用来跟踪浏览器用户身份的会话方式。
Session与Cookie的区别是:cookie数据保存在客户端,session数据保存在服务器端
二、Token
特点:
- 每次登录成功后返回的Token是不一样的,是一个随机的字符串
- Token一般是通过响应数据返回给客户端
- 客户端发送请求给服务端,是通过请求头里面的Authorization: JWT TOKEN
TOKEN:本质上是SESSION原理来实现的,我们一般称呼它为令牌。前后端分类的产品使用的都是TOKEN。目前TOKE N使用的技术一般是JWT
JWT: Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
Token请求流程
三、API
一个API测试通过的标准是:协议状态码;响应数据;业务状态吗(可能有,也可能没有)
四、Clarles软件介绍
1、Structure Sequence为两种不同布局,垃圾桶图标为清理抓包数据
2、安装认证
点击Help>>SSL Proxying>>Install Charles Root Certificate>>安装证书>>本地计算机>>选择 将所有的证书都放入系列存储>>预览 选择 受信任的根证书颁发机构>>完成>>点击Proxy>>SSL Proxying Settings>>Add>>Host(填写*)、Port(端口号http:80、https:443、email:25、ssh:22、tomcat:8080、mysql:3306)>>ok、勾选Enable SSL Proxying 、ok
3、使用Clarles工具来模拟高并发(同一时刻客户端向服务端发送大量的网络请求)
选定网页加载包,右键选择Repeat Advanced..(Iterations为次数)
五、Postman软件应用
1、组件学习
2、断言(assert)
在postman里面,写assert的地方是tests
3、tsets中获取数据
在postman里面定义一个变量用var开头来表示,变量名称可自行设置(需要注意的是,定义和获取时一致,这里我们设置为date),console.log代表获取,然后层级获取,例如:图中city在address下则获取方式为console.log(date.address.city)
4、相同变量的获取方式
例如图中所示,要获取交通大学的信息则给school下一层级加上[0],要获取长安大学的信息则给school下一层级加上[1]
5、举例验证登录信息是否正确
在文档中找到域名复制进postman,获取其头部信息,然后texts中先定义一个变量来获取数据,逐步验证需要的信息。
六、Postman工具实战练习
一、https://www.zhipin.com/wapi/zpCommon/data/position.json 该域名下验证职位类型第一个是否为“后端开发”
1、复制该链接至postman地址处,选择GET后Send得到代码资源
2、选择Tests,定义一个变量获取响应数据【var jsonDate=JSON.parse(responseBody)】
3、界面右边选择Status code:Code is 200(验证协议状态是否为200 Ok)
4、Tests下继续编写
【tests["职位类型第一个是的后端开"]=jsonDate.zpData[0].subLevelModelList[0].name=="后端开发"】
5、Send后查看Test Results结果是否于预期结果一致(是否为PASS)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架