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 

例子 

原文地址:https://www.cnblogs.com/weilemeizi/p/14686813.html