
http协议:简单、快捷、无连接、无状态。多次请求之间是没有关联的,独立的。
一、cookie鉴权 1、什么是cookie?cookie是在服务器产生的存储在客户端的一小段文本信息,格式是字典,键值对。
2、cookie的分类会话级:保存内容,当浏览器关闭就会丢失
持久化:保存硬盘,只有当失效时间到了才会被清除
name,value、domain、path、express、size
4、cookie如何实现鉴权(原理)当客户端第一次访问服务器时,那么服务器就会产生cookie,然后通过相应头的方式在Set-Cookie传输到客户端。客户端从第2-N次请求都会自动的带上这些cookie。
致命的弱点:cookie保存在客户端,对于一些敏感信息,用户名,密码,身份z。 不安全
第一个接口:
第二个接口:
当用户第一次访问服务器的时候,然后再服务器端保存一个sessionid,这个sessionid是经过加密的,然后通过cookie吧这个sessionid保存到客户端,然后请求服务器的时候只发送sessionid。
sessionid保存在服务器内存中。
致命弱点:解决了cookie不安全的问题,但是随着又出现了新的问题。当用户量特别大的时候,会导致服务器崩溃。
服务器集群: 请求IP捆绑、session复制、单点登录。
第一个接口:
第二个接口:
当一个用户登录之后,就给他发送一个token令牌,下一次用户再次请求的时候,只要带上这个令牌。token可以通过抓包抓取(http)
token保存在文件中或是保存在数据库中。
加密:
对称加密:des aes
双钥加密:RSA
只加密不解密:md5 SHA
token的分类:
access_token:有时间期限,限制在15分钟
refresh_token:一般15天
第一个接口:
第二个接口:
相同点:都是用于做鉴权的,都是服务器产生的。
区别:
(1)cookie存储在客户端,session存储在服务器,session的安全性比cookies高。所以一般情况下把重要的信息放在session,把不重要的放cookies。
(2)session存在服务器内存,token存在服务器的为难或者数据库中,token的好处是比session更省服务器资源。token只需要在服务器解密即可。
自动化层面:
工具:postman、jmeter
代码:借口关联,cookie鉴权、session鉴权、web自动化用cookie跳过验证码
出现了新的问题:第三方支付,银行,金融项目,安全的要求更高。
数字证书:
既可以在工具里面解决,也可以在代码里面解决。
为什么我们有工具postman、jmeter,那么我们为什么做代码级别的接口自动化?
(1)敏捷开发:接口巨大 不容易做版本控制和团队协作
(2)工具太死,我们需要自定义一些功能
(3)一个项目中有多种协议的接口
(4)定位问题
(5)工具,没有办法生成美观的报告。allure
(6)对于复杂的接口,多接口协议,数据库
(7)日志监控
(8)接口自动化 web自动化
深度:接口自动化
(1)所有的请求都必须要统一管理
(2)封装好接口自动化测试框架之后,功能测试只需要写测试用例,不需要写代码
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)