接口测试
什么是接口
接口就是服务器端定义的一堆函数或者是方法的集合,接口调用其实就是在调用这堆函数或者是方法。
协议的概念
- 网络协议是通信计算机双方必须遵从的一组约定。如怎样建立连接、怎样互相识别等。只有遵守这个约定,计算机之间才能互相通信交流。它最终体现为在网络上传输的数据包的格式。
- 协议往往分成几个层次进行定义(协议栈),分层定义是为了使某一层协议的改变不影响其他层次的协议。
TCP/IP四层协议


应用层的协议包括telnet协议、FTP协议、HTTP协议、SMTP协议等。
HTTP协议
概念
超文本传输协议是互联网上应用最为广泛的一种网络协议。基于TCP/IP模型的应用层协议。
HTTP协议不但可以传输文本数据,还可以传输音频、视频、超链接、图片等内容。
HTTPS:HTTP+SSL
HTTP由请求和响应构成,是一个标准的客户端服务器模型(B/S架构)
HTTP协议永远都是客户端发起请求,服务器回送响应
HTTP请求过程
一次http操作称为一个事务
- 浏览器输入
- dns域名解析:域名月ip映射
- 建立tcp连接
- 发送http request:请求信息
- web服务器接收请求
- 应用服务器处理业务逻辑
- 关闭tcp连接:请求响应完成。如果浏览器在其头部信息中加入了connection:keep-alive,则tcp连接仍然保持打开状态
- 浏览器:渲染响应页面
HTTTP协议的特性
- 无连接性
限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后就断开连接,可以节省传输事件。
早期是这么设计,但随着时间推移网页越来越复杂里面嵌入的信息很多,如果每次访问信息都要建立一次TCP连接就很低效。于是就使用keep-alive来解决。
keep-alive虽然有一定的好处,但它同样影响性能,因为在处理暂停期间,本来可以释放的资源仍然被占用。
HTTP协议的请求类型
- GET:从服务器端获取资源数据
- POST:向服务器端提交数据
- OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法
- HEAD:获取与GET请求一致的响应头
- PUT:用来更新一个已有的实体。通过把已经存在的资源的ID和新的实体用PUT请求上传到服务器端来更新资源
- DELETE:从服务器上删除资源。需要把要删除的资源的ID上传给服务器
- TRACE:回显服务器收到的请求,主要用于测试和诊断
GET和POST的区别
- GET请求一般用于向服务器请求获取一个资源,没有副作用,一般会在客户端做缓存。POST请求一般用于向服务器提交数据并让其去完成一件事,所以这个操作是由副作用的,不会再客户端做缓存。
- GET请求发送数据的时候,一般会将请求数据放在url字符串中发送给服务器端,所以从安全性来看没有POST高,所以GET请求一般不会用于比较隐私数据的传输。而POST请求是将请求数据放在请求体body里面,一般用于表单数据、登录数据等数据的传输。