http/https在哪层?
http/https在应用层、tcp在传输层、ip在网络层
接口请求有哪几种:
http/https:get、post、put、delete
post请求参数由几种类型:
主要有四种方式:
application/x-www-form-urlencoded(数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码)
multipart/form-data:二进制编码,数据一般以文件形式上传
application/json:json格式数据
text/xml :入参是xml格式的,一般以字符串形式传递,若遇到编码问题则增加encode即可
具体由请求头的content—type字段决定
get和post的区别:
传参方式:get参数在url上,post通过body传递参数
参数大小:get由于参数是拼接在url上,所以由大小限制,一般在2-4K;post请求在body上,一般不限制大小
缓存:get请求由缓存,post请求没缓存
数据包:get只发送一个tcp数据包(header和data一起发送),post需要2个tcp数据包(headers先发送,服务器返回正常,则继续发送body数据)
运用:get一般作为查询,post一般作为新增、修改、删除数据
接口请求依赖:
一般使用全局变量来处理接口依赖,大概分为三个步骤:提取(从源数据内提取需要的变量值)、设置全局变量(将提取到的值设置为全局变量)、引用(在需要引用的接口内,通过全局变量名引用变量值)
如果是cookie的话,jmeter自带cookie管理器、python-requests库自带cookie管理功能,无需另外手动处理。
接口自动化数据的初始化和清楚:
python-pytest的fixture装饰器可用于初始化和清楚数据
jmeter的逻辑控制器可控制初始化请求和清楚数据请求仅运行一次
cookie、token、session区别:
cookie存储在浏览器,token存储在手机上,session存储在服务器上;
安全性上session比cookie和token高,因为后两者存储在本地容易被破解;但是session存储在服务器上,数量多了会对服务器性能产生影响。