一、接口的基本概念
1.接口
接口又称API(APPlication Programming Interface,应用程序编程接口),是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而无需访问源代码,或理解内部工作机制的细节。
接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,RPC,Webservice,Dubbo,RESTful等类型。
2.接口类型
HTTP接口:通过HTTP协议传输的接口,可以传输表单数据,也可以传输类型的对象数据或XML类型数据。
RPC接口:远程方法调用远程方法调用,随着分布式系统的出现,当你需要调用部署到其他服务器上的方法时,需要用到RPC。RPC只是提出这样一个问题,有很多种解决方案。
Webservice接口:基于SOAP协议的一种RPC实现方案,相比传统HTTP接口只传输文本请求和相应,通过Webservice可以直接拿到一个远程的对象,并能够直接调用该对象的属性和方法,比HTTP更高级
Dubbo接口:Dubbo接口是一种RPC实现方案
RESTful接口:REST,表述性状态转移。一种接口设计风格,默认使用json格式传输
二、网络基础知识及协议
1.IP地址
IP地址是IP协议提供的一种统一的地址格式,它未互联网上的每一个网络和每一台主机分配一个逻辑地址。相当于每个人都有一个身份证
查看IP:windows下:ipconfig
2.端口
端口:设备与外界通讯交流的出口
查看端口:windows下:netstat -ano
3.域名及DNS
由于IP地址不容易记忆,为IP地址赋予一个利于记忆的别名,即为域名,如:百度的IP为61.135.169.125,对应的域名为www.baidu.com
查看域名对应的IP:ping www.baidu.com
DNS即域名解析系统,域名与解析系统映射的一个分布式数据库,提供域名转到对应的IP服务
4.OSI七层模型
OSI即开放系统互连参考模型,一种网络架构
-上三层——应用层,控制软件方面
--应用层:文件传输,电子邮件,文件服务,虚拟终端TFTP,HTTP,SNMP,FTP,DNS,Telent
**表示层:数据格式化,代码转换,数据加密
**会话层:解除或者建立与别的接点的联系(会话)
*下四层——数据流层,用来管理硬件
**传输层:提供端对端的接口TCP,UDP
**网络层:为数据包选择路由IP,ICMP,RIP,OSPF,BGP,IGMP
**数据链路层:传递有地址的帧以及错误检测功能SLIP,CSLIP,PPP,ARP,RPARP,MTU
**物理层:以二进制数据形式在物理媒体上传输数据ISO2110,IEEE802,IEEE802。2
二、接口组成
1.协议——HTTP协议
HTTP:超文本传输协议,是用于从WWW服务器传输超文本到本地浏览器的传输协议。
HTTP协议是一种无状态协议,主要包含请求和相应两大部分:
- 请求(Request)
请求是我们发送给接口的数据对象,包含接口地址(URL),请求方法,参数,请求头(Headers), Cookies, 数据等