接口及相关概念

一、接口

1. 什么是接口

抽象化的概念,插头、插座

计算机领域的接口

2. 分类

  • 硬件接口
    • usb
  • 软件接口
    • 不同软件之间进行数据通信的规则。定义、函数、协议等

3. 应用架构

  • c/s: client(客户端)/server(服务端)
  • b/s: browser(浏览器)/server(服务端)
  • m/s: mobile(移动端)/server(服务端)

b/s和m/s都属于c/s的一种

二、网络传输模型

1. OSI七层模型

具体7层功能设备
应用层提供为应用而设的接口,以设备与另一应用软件之间通信。例如HTTP, HTTPS, FTP, TELENT,SSH, SMTP, POP3等终端设备(PC、手机、平板等)
表达层把数据转换为能与接收者的系统兼容并适合传输的格式。终端设备(PC、手机、平板等)
会话层负责在数据传输过程中设置和维护计算机网络中两台计算机之间的通信连接。终端设备(PC、手机、平板等)
传输层把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如传输控制协议(TCP)等。终端设备(PC、手机、平板等)
网络层决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组。网络表头中包含了网络数据。例如互联网协议(IP)等。网关、路由器
数据链路层负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形成帧。交换机
物理层在局部局域网上传送数据帧(data frame),它负责管理计算机通信设备和网络媒体之间的互通。同轴电缆、光纤

在这里插入图片描述

2. TCP/IP网络模型

TCP/IP协议不是TCP和IP两个协议的合称,而是只因特网的整个TCP/IP协议族。

从协议分层模型方面讲,从下往上四个层次:网络接口层,网络层,传输层,应用层。

它和OSI接口的对应如下:

OSI中的层功能TCP/IP协议族
应用层文件传输、电子邮件、邮件服务、虚拟终端TFTP, HTTP, SNMP, FTP, SMTP, DNS, Telent等等
表示层数据格式化,代码转换、数据加密没有协议
会话层接触或者建立别的节点的联系没有协议
传输层提供端对端的接口TCP, UDP
网络层为数据包选择路由IP, ICMP, OSPF, EIGRP, IGMP
数据链路层传输有地址的帧及错误检测功能SLIP, CSLIP, PPP, MTU
物理层以二进制数据形式在物理媒体上传输数据ISO2110, IEEE802, IEEE802.2

TCP/IP模型简化了OSI模型,并制定了具体的方法来实现,它是实际的执行标准。

3. TCP协议

TCP是面向连接的、可靠的、基于字节流的传输通信协议。

建立连接:三次握手

断开连接:四次挥手【TCP是全双工的】

UDP是无连接的,直接发,不管收没收到。

什么情况下用TCP? 什么情况下用UDP?

直播等视频传输使用UDP,效率高。

4. IP地址

IP地址是指互联网协议地址,是一个32位的二进制数,通常被分割为4个8位二进制数(换算为十进制数)。“点分十进制”。例如192.168.1.1

5. 端口

一个电脑上运行了多个应用软件,服务器根据IP找到了对应的我的电脑,但是返回的数据如何找到是哪个应用呢?

IP找到电脑,端口找到程序。

端口号:0-65535

6. 套接字

三、http协议

官方文档

3.1. http的基本性质

3.1.1 简单的

虽然下一代HTTP/2协议将HTTP消息封装到了帧(frames)中,HTTP大体上还是被设计得简单易读。HTTP报文能够被人读懂,还允许简单测试,降低了门槛,对新人很友好。

3.1.2 无状态,有会话的

HTTP是无状态的:在同一个连接中,两个执行成功的请求之间是没有关系的。

这就带来了一个问题,用户没有办法在同一个网站中进行连续的交互,比如在一个电商网站里,用户把某个商品加入到购物车,切换一个页面后再次添加了商品,这两次添加商品的请求之间没有关联,浏览器无法知道用户最终选择了哪些商品。

而使用HTTP的头部扩展,HTTP Cookies就可以解决这个问题。把Cookies添加到头部中,创建一个会话让每次请求都能共享相同的上下文信息,达成相同的状态。

注意,HTTP本质是无状态的,使用Cookies可以创建有状态的会话。

3.2 http请求

一个完整的HTTP请求包括:请求行(请求方法、URL、版本)、请求头、空行和请求数据。

在这里插入图片描述

3.2.1 请求方法

请求方法:

  • 1.0 定义了三种请求方法:GET, POST和HEAD方法
  • 1.1 新增了六种请求方法:OPTIONS, PUT, PATCH, DELETE, TRACE和CONNECT方法
3.2.2 请求头
3.2.3 请求数据

请求数据通常是通过POST请求发出去的,GET方法是没有请求数据的。

请求数据跟上面的消息报头由一个空行隔开。

3.3 http响应

一个完整的HTTP响应报文也由四个部分组成:状态行、消息报头、空行、响应正文。

在这里插入图片描述

3.3.1 响应状态码

响应行包括:协议/版本 响应状态码 响应状态描述

当客户端向服务器发起一次请求后,服务端在返回的响应头中会包含一个HTTP状态码。

HTTP状态码是由三位数字来表示的,由第一位数字来表示状态码的类型,一般有5种类型:

分类分类
1**信息,服务器收到请求,需要请求者继续执行操作
2**成功,操作被成功接收并处理
3**重定向,需要进一步的操作已完成请求
4**客户端错误,请求包含语法错误或者无法完成请求
5**服务器错误,服务器在处理的过程中发生了错误

官方文档

3.3.2 响应报头
3.3.3 响应数据

4. url

URL(Uniform Resource Locator),中文叫统一资源定位符。用来标识某一处网络资源的地址,也就是常说的网址。

url的组成:协议+域名(IP地址和端口)+路径+参数
在这里插入图片描述

5. https

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。

http协议是基于tcp/ip协议的,而hrrps是基于http协议的基础之上,再加了一层SSL/TLS协议,数据在传输过程中是加密的。

  1. https协议需要到ca申请证书,一般免费证书很少,需要交费。
  2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443.
  4. http的连接简单,是无状态的;https协议是由SSL+HTTP协议构建的,可进行加密传输、身份认证的网络协议,比http协议安全。

在这里插入图片描述

四、鉴权与授权

有些页面可以直接访问,有些页面需要登录才能访问

http
无状态:可以理解为服务端不会保存客户端的请求信息

4.1 会话技术

4.1.1 cookies

由服务端产生的独一无二的字串,发送给客户端,客户端将cookie保存在本地。下一次当客户端向同一个服务器发送请求且cookie没有过期时,请求则会携带cookie,服务端也将通过cookie将不同的请求联系起来。

现在cookie不会存敏感信息,否则不安全。

4.1.2 session

基于cookies,信息保存在服务端,客户端保存session_id(cookies)
在这里插入图片描述

4.2 token鉴权

jwt (json web token 跨域认证方案)

在这里插入图片描述

token的计算,校验的不同,具体项目具体研究

五、测试步骤

5.1 步骤

  1. 冒烟测试,业务流测试:主要的业务,只跑正例

  2. 单接口覆盖测试:一个接口一个接口测试

5.2 接口测试用例设计

跟功能测试的用例设计的思想和方法完全一致

注意:

  1. 是否要全覆盖
    • 如果时间允许,且参数不多
    • 结合用户的行为,把最多的情况和最核心的情况覆盖就可以了
  2. 设计用例需要结合抓包工具和接口文档
    • 不能完全相信接口文档
  3. 注意数据的格式要容易被程序识别
    • 字段名用英文
    • 输入、输出用json格式
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值