当前位置:网站首页>接口和协议
接口和协议
2022-08-03 04:12:00 【wuyunbilige66】
一.接口分类
1.webservice接口 2.http api接口
webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。
http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。
二.接口
一个URL就是一个接口:接口大致会分为一下几个部分:
协议:http/https
域名或者ip:
端口号
路径
参数
请求协议:
http --- 普通的http请求
https --- 加密的http请求,传输数据更加安全
请求IP:就是指提供接口的系统所部署的服务器地址
请求端口:如果不填端口,默认是80,否则需要填写端口号
接口路径:指系统提供的接口在什么位置
三.BS与CS优缺点对比
cs=client/server
bs = browser/server
开发: cs比bs要高,因为cs开发双端
运行: cs比bs要快
安装:cs需要安装客户端才能使用,bs不需要,只要游览器即可
更新:cs需要更新双端,bs只需要更新服务器端,游览器刷新即可
兼容:cs需要考虑手机型号,版本,屏幕的分辨率(720*1280 1080*1920) bs考虑不用游览器,游览器的版本(谷歌,火狐,IE)
cs中有专项测试,bs没有,专项测试有:安装,卸载,中断,弱网,monkey稳定性测试
自动化测试中bs使用是selenium,cs使用是appium
相同点:根据需求文档,编写测试用例,编写测试用例的方法相同
四.http请求方式
请求方式:
HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
GET 请求指定的页面信息,并返回实体主体。
HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
PUT 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE 请求服务器删除指定的页面。
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS 允许客户端查看服务器的性能。
TRACE 回显服务器收到的请求,主要用于测试或诊断。
五.Get与post请求的区别
1、GET将参数放在URL中。而POST将数据放在BODY中。
2、GET的URL会有长度上的限制,而POST的数据则可以非常大。
3、POST相比GET更安全,因为数据在地址栏上不可见。
4、一般get请求用来获取数据,post请求用来发送数据。
六.接口中包含什么
请求request:
请求行:信息(请求方式,url,http版本号)
请求头:host/connect/Referer/accept-encoding/accept-language/cookie
请求参数
响应response:
响应行:http版本号 状态码 ok
响应头:content-type/connect/
响应的信息:
七.HTTP之状态码
状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受 200
3xx:重定向--要完成请求必须进行更进一步的操作 charles本地修改
4xx:客户端错误--请求有语法错误或请求无法实现 403 404
5xx:服务器端错误--服务器未能实现合法的请求 500 503
常见状态码:
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
八.Cookie
Cookie概念
Cookie翻译成中文是小甜点,小饼干的意思。在HTTP中它表示服务器送给客户端浏览器的小甜点。其实Cookie就是一个键和一个值构成的,随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来,当下一次再访问服务器时把Cookie再发送给服务器。
Cookie是由服务器创建,然后通过响应发送给客户端的一个键值对。客户端会保存Cookie,并会标注出Cookie的来源(哪个服务器的Cookie)。当客户端向服务器发出请求时会把所有这个服务器Cookie包含在请求中发送给服务器,这样服务器就可以识别客户端了!
Cookie应用场景
记录上次访问时间
记录用户名
显示浏览记录
Cookie原理分析
Cookie 使用细节
一个Cookie只能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值(VALUE)。
一个WEB站点可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个WEB站点提供的Cookie。
void setPath(java.lang.String uri) :设置cookie的有效访问路径。有效路径指的是cookie的有效路径保存在哪里,那么浏览器在有效路径下访问服务器时就会带着cookie信息,否则不带cookie信息。
void setMaxAge(int expiry) : 设置cookie的有效时间。
正整数:表示cookie数据保存浏览器的缓存目录(硬盘中),数值表示保存的时间。
负整数:表示cookie数据保存浏览器的内存中。浏览器关闭cookie就丢失了!!
零:表示删除同名的cookie数据
Cookie数据类型只能保存非中文字符串类型的。可以保存多个cookie,但是浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB。
九. Session介绍
在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。
Session和Cookie的主要区别在于:
Cookie是把数据保存在浏览器端的内存中
Session把数据保存在服务器端的内存中
cookie与session的联系:
当服务器端生成一个session时就会向客户端发送一个cookie保存在客户端,这个cookie保存的是session的sessionId。。这样才能保证客户端发起请求后客户端已经登录的用户能够与服务器端成千上万的session中准确匹配到已经保存了该用户信息的session,同时也能够确保不同页面之间传值时的正确匹配。
十.接口测试用例编写
接口测试用例编写要点
测试每个参数类型不合法的情况
测试每个参数取值范围不合法的情况
测试参数为空的情况
测试参数前后台定义的一致性
测试每个参数的上下限(这里容易出致命的BUG,如果程序处理不当,可能导致崩溃)
测试每个参数取值不合理的情况(包括取的值不属于自己,取值在这阶段不会出现,取值超出了自己所拥有的数量或者范围)
如果两个请求有严格的先后顺序,需要测试调转顺序的情况
自己和自己的交易、聊天等操作(这种特别容易遗漏)
边栏推荐
- Record some bugs encountered - when mapstruct and lombok are used at the same time, the problem of data loss when converting entity classes
- 2022河南萌新联赛第(四)场:郑州轻工业大学 G - 迷宫
- 记录一些遇见的bug——mapstruct和lombok同时使用时,转换实体类时数据丢失问题
- ESP8266-Arduino编程实例-MCP3008-ADC转换器驱动
- SkiaSharp 之 WPF 自绘 五环弹动球(案例版)
- 钢铁电商行业方案:钢铁工业产品全生命周期管理解决方案
- 直播|StarRocks 技术内幕 :低基数全局字典优化
- mysql bool blind
- 在竞争白热化的电商行业,链动2+1为什么还有企业在用
- DMA 的工作方式
猜你喜欢
MySQL 入门:Case 语句很好用
RequestContextHolder
肖sir ——自动化讲解
Record some bugs encountered - when mapstruct and lombok are used at the same time, the problem of data loss when converting entity classes
TCP 和UDP 的详细介绍
关于#sql#的问题,如何解决?
C# WPF设备监控软件(经典)-上篇
10.预测房价:回归问题
StarRocks 7 月社区动态
(2022牛客多校五)G-KFC Crazy Thursday(二分+哈希)
随机推荐
DMA 的工作方式
视频中场的概念(1080I和1080P)和BT601/656/709/1120/2020/2077
(2022杭电多校五)1010-Bragging Dice (思维)
EssilorLuxottica借助Boomi的智能集成平台实现订单处理的现代化
MySQL 删除表数据,重置自增 id 为 0 的两个方式
DC-6靶场下载及渗透实战详细过程(DC靶场系列)
寄存器(内存访问)
Redis-Redisson介绍和用途
基于WPF重复造轮子,写一款数据库文档管理工具(一)
Redis缓存雪崩、缓存穿透、缓存击穿
MySQL 出现 The table is full 的解决方法
The flink sql task is changed, and after adding several fields to the sql, an error occurs when restoring from the previously saved savepoint.
高等代数_证明_不同特征值的特征向量线性无关
10.预测房价:回归问题
索引创建、删除与使用
直播|StarRocks 技术内幕 :低基数全局字典优化
深圳线下报名|StarRocks on AWS:如何对实时数仓进行极速统一分析
Summary of some questions about the grain mall
肖sir__简历
SkiaSharp 之 WPF 自绘 五环弹动球(案例版)