接口测试理论 2
一、常见接口类型:
(1)http接口:通过HTTP协议传输的接口,可以传输文本表单数据,也可以传输Json类型的对象数据或xml类型的数据
(2)resful api 接口:一种HTTP接口的设计风格,将一切接口视为资源。规定了GET/POST等请求以及HTTP状态码的使用规范,默认使用JSON格式传输。
二、http协议
(1)概念:超文本传输协议,是用于从WWW服务器传输超文本到本地浏览器的传输协议,基于TCP/IP通信协议。
(2)特点:无连接----------限制每次连接只处理一个请求
媒体独立-------只要客户端和服务端知道怎么处理数据内容,任何数据类型都可以发送。
无状态----------对事物处理没有记忆能力。
(3)组成:请求、响应--------请求构成:请求地址、消息报头、请求正文;-------响应构成:状态码、消息报头、响应正文。
三、请求方法:http 1.1
序号 | 请求方法 | 说明 |
1 | get | 请求指定页面信息,返回实体主体 |
2 | post | 向指定资源提交数据进行处理请求。 |
3 | head | 类似于get请求,用于获取报头 |
4 | put | 从客户端向服务器传送的数据取代指定文档内容 |
5 | delete | 请求服务器删除指定页面 |
6 | trace | 请求服务器返回收到的请求信息,用于诊断和测试 |
7 | option | 用于查询服务器性能 |
8 | connect | 预留给能够将连接改为管道方式的代理服务器 |
四、响应状态码
------当浏览器接受并显示网页前,次网页所在服务器会返回一个包含http状态码的消息头用以响应浏览器的请求。
HTTP状态码共分为5种类型。
- 1** 信息,服务器收到请求,需要请求者继续执行操作
- 2** 成功,操作被成功接收并处理
- 3** 重定向,需要进一步的操作以完成请求
- 4** 客户端错误,请求包含语法错误或无法完成请求
- 5** 服务器错误,服务器在处理请求的过程中发生了错误
常见状态码:
- 200 OK:请求成功
- 301/302 Fund:请求重定向
- 400 Bad Request:请求语法错误
- 401 Unauthorized:请求验证用户身份
- 403 Forbidden:没有资源访问权限
- 404 Not Found:资源不存在(有可能是请求url错误或参数不正确)
- 405:请求方法不被允许(比如接口只允许Post,使用Get请求接口)
- 500:服务器内部错误(通常是服务器挂了或接口Bug)
- 502:网关失效
- 503:服务器超载
- 504:网关请求超时
五、https与http:
HTTP协议传输的数据都是未加密的,HTTPS协议是由HTTP+SSL协议构建的可进行加密传输、身份认证的网络协议,要比HTTP协议安全。
- HTTPS协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
- HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议。
- HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
- HTTP的连接很简单,是无状态的;HTTPS协议是由HTTP+SSL协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。
六、 cookie与session
- **Cookie/Cookies: **是指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。
- Session:服务端为客户端访问所建立和维持的会话,通常会生成一个唯一的id,会话有一定的有效期。
由于HTTP是无状态的,即服务器不知道用户上一次做了什么,默认也无法识别用户身份。
比较流行的做法是: - 用户访问时服务端建立会话(Session)
- 将会话id(Session ID)随响应返回,并保存在客户端的Cookies里
- 后续的访问中,服务器通过辨识,客户端请求时携带的Cookies内容来识别用户