网站首页 > 技术文章 正文
1.2.1 web接口的概念
这里用一个浏览器调试工具捕捉课程管理页面请求作为例子:
当请求页面时,服务器会返回资源,将协议看做是路的话,http可以看做高速公路,soap看做铁路传输的数据有html,css,javascript或图片、视频、音乐等文件,看做公路运输的货物,比如水果、蔬菜等。
这些数据会以一定的格式进行封装,比如将货物装入集装箱、纸箱等,这就是数据的格式,XML/JSON/CSV,目前使用 多的是http协议和JSON是数据格式。
1.2.2 请求request和响应response 网络应用的B/S和C/S架构
C/S架构全称为:Client-Server客户端-服务器端架构,一共两层。
客户端向服务器端发出请求Request,服务器端响应客户端的请求,发出响应Response,响应中就包含了客户端所需的数据等信息。
B/S架构被称为:Browser-Server浏览器端-服务器端架构,一共三层。
浏览器端向Web服务器发出请求Request请求网页,Web服务器收到客户端请求后向后端的数据库服务器发出请求Request请求网页的数据,数据库服务器响应Web服务器的请求,发出包含网页数据信息的响应Response,然后Web服务器收到数据库服务器的响应,将网页数据的其它的网页文件等信息发送给浏览器端, 后由浏览器对以上文件进行解析,变成我们看到的页面。
我们实施接口测试的目的就是替代客户端或浏览器端和Web服务器向服务器端或数据库服务器发出请求。
Request,并检查服务器或数据库服务器的Response的数据信息。
站在测试阶段来看,接口测试属于集成测试阶段,一般位于单元测试之后,在前端没有开发完毕,但是后端已经开发完成的阶段,在系统测试阶段之前,有些时候接口测试也被称作前后端的联调测试。
请求Request的组成结构
请求Request由三部分组成:
?
请求行: 由请求方法和URL组成 请求方法由HTTP协议提供,主要有GET、POST等方法。
URL:Uniform/Universal Resource Locator 的缩写,统一资源定位符,一般格式为: http://[host][":"port][abs_path],例如:http://127.0.0.1:8000/api/add_course/
请求报头Header:允许客户端向服务器传递请求的附加信息以及客户端自身的信息。
请求正文Body:请求的信息正文,常用的数据格式有JSON、XML、form等。
?
例如:
JSON:
{"title":"test","sub":"001"}
form:
title=test&sub=1
响应Response的组成结构
?
响应Response由三部分组成:
状态码Status code: 所有HTTP响应的第一行都是状态行,依次是当前HTTP版本号,3位数字组成的状态代码,以及描述状态的短语,彼此由空格分隔。例如:200 响应报头Header:响应头允许服务器传递不能放在状态行中的附加响应信息,以及关于服务器的信息,和对request-URI 所标识资源下一步访问的信息响应正文Body:
服务器返回请求的数据,一般是JSON或XML格式的数据,例如:
猜你喜欢
- 2024-10-19 Node-RED系列(六):Node-RED解析节点的使用
- 2024-10-19 越南指数行情数据API接口(越南指数股票最新行情)
- 2024-10-19 Pinot 架构分析(pod架构)
- 2024-10-19 大模型开发者实战揭秘:SFT指令微调数据构建的全方位指南
- 2024-10-19 27K star!这款开源可视利器帮你一眼看穿JSON
- 2024-10-19 linux-shell命令处理json数据(linux检查json格式)
- 2024-10-19 MongoDB常用特性一览(mongodb4.2新特性)
- 2024-10-19 轻量级的原生JavaScript的Excel插件——JExcel
- 2024-10-19 5万字长文!搞定Spark方方面面(五)
- 2024-10-19 越南指数清单列表数据API接口(越南指数清单列表数据api接口在哪)
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)