http协议的讲解
一个完整的链路 ??????????????????????????????
客户端是浏览器,app h5 也叫wap 请求会通过负载均衡分发,现在会有一些自动分发的插件 分发给服务端
服务端会把收到的数据 存在缓存服务器 ,现在缓存服务器中查找
找不到会到数据库中查找,这是一个完整的链路
注意我们压测的时候测试的是后面的绿色的那部分服务端的压测,有数据库,redis和接口
为什么要测试后端重点,因为举例子,淘宝来说,100万人请求就是一百万个后端,但是对于前端,每个人用一个浏览器
对于个体浏览器没有并发概念但是有加载快慢,比如每个人网页加载0.5s
网页加载的慢主要两部分?????
第一加载的慢,css,js执行的慢
第二就是静态资源加载的慢
比如一个照片的加载,因为这个照片是放到服务器上的,一百万个人去下载,所以说前端真要有并发,就是前端对静态资源请求并发
jmeter可以模仿服务端的并发,也可以模拟静态资源的下载,但是jmeter无法加载页面,渲染
为什么这么说呢,比如你访问百度会返回好多图片和请求,如果你用jmeter测试这个地址,你实际上测试的是这个单独的请求,返回200就行,所以有的人说jmeter发的请求和真正的不一样
如果你想要模拟请求后的返回????????怎么操作??????????
模拟请求接口成功后,并且对静态资源的下载,最后一步无法完成,渲染在页面,因为没有浏览器插件
如果做纯服务端的压测这个勾就不用勾选,大部分是测试纯服务端的压测??????????????????????
什么叫接口,什么一个接口a-和B通过接口c联系上的
测试范围?????????????????
服务端给客户端提供数据的额接口,大部分走得http协议,或者https协议,因为浏览器只认为这里
服务端压测就是服务端对外暴露这些接口进行压测
我们已经知道了get和post请求的区别就是Get没有请求正文,post有请求正文
给你个接口?如何测试?
什么是接口?
服务器都是给外提供数据
一个服务和模块有很多接口组成,接口就是连接内外通信的
大部分基于http 协议还有HTTPS协议
主要测试的接口?
内部服务之间接口,客户端和服务器的通讯接口
通过接口的形式 压力测试
前端展示形式不一样
浏览器只是客户端的一种
不论app,pc端 -浏览器 h5 wap 字段会多几个
网页加载的慢-两部分,
1.js执行的慢 css执行的慢
2. 加载的慢 静态资源加载的慢
jmeter 可以模拟 纯服务端的响应 服务端接口的快慢
jmeter也可以模拟 静态资源的下载 静态资源加载的快慢
jmeter无法加载页面 渲染
请求返回图片地址-jmeter去下载,页面相关的所有请求全部渲染在页面,
浏览器无法画在页面因为没有内核,这步无法实现,但是已经很真实了,我不测试前端加载的性能
我可以算出关联资源加载的,如果测试服务端的加载,只看服务端返回的快慢这个勾就不点
http什么叫身份认证?
举例子,服务端有一个图片,你想去查看,浏览器如何判断能让你看呢,因为浏览器有个特性无状态性,就是傻子,这次请求发的,下次再发就忘记了请求的内容和响应
长连接-底层连接不断,上层连接会断 底层tcp是一个长连接,底层会话不断,上层随时断
无状态特性
以登录为例子 一般做法,你登录成功后,服务器会返回你一个令牌,你拿着这个秘钥和令牌下次再来请求,就知道你已经登录和你的用户等级,
当你登录成功后,生成一个token
两种放置方法
第一种放到请求头 contye
第二种放到正文里面-用的少因为好多业务数据
还有一种放到地址栏目里 get请求后面
还有一种放到cookie里
分离式部署的认证?????
token可以跨域
你去酒店开房,登录后,成立个认证中心,你登录就给你发令牌
可以跨域,你去别的地址登录,认证下是一个认证中心的令牌就是可以的
otw 就是现在比较流行的认证方式 联合认证
重定向????? 例子就是你请求一个图片登录后,会自动请求
登录后,服务器把你的登录令牌比如token放到响应头字段 注意在同一个浏览器里面,以退出为失效,或者有失效时间,所以你换了窗口也是有的,除非你清除缓存
第一次发把你要访问的照片的地址返给你还有token
setcookie :带上token 还有请求的地址/home 返回302
302第二次自动发再次返回200
例子