文章目录

  • 1. 接口介绍
  • 1.1 接口的基本知识
  • 2. http协议
  • 2.1 协议介绍
  • 2.2 session、token
  • 2.3 授权和鉴权
  • 2.4 get和post的区别
  • 3. 接口测试工具
  • 3.1 基本介绍


1. 接口介绍

1.1 接口的基本知识
  • 定义

接口:指外部系统与系统之间以及内部各子系统之间的交互点。外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口

  • 接口分类

按内外部分:外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口
按协议分:http、webservice、dubbo、socket

  • 接口本质

经过封装的类
传递数据的通道

  • 接口测试的本质

模拟客户端向服务器发送请求

2. http协议

2.1 协议介绍
  • HTTP协议方法
  • GET----读取数据,不修改数据
  • POST----提交表单、上传文件等,一般用于修改或创建资源
  • PUT----提交数据,一般用于修改
  • DELETE----请求删除某资源
  • HEAD----和GET类似,但服务器不返回body,仅返回头。可查看资源修改日期。
  • OPTIONS----服务器返回资源支持的HTTP请求方法
  • TRACE----回显服务器收到请求,用于诊断和测试
  • CONNECT----预留给能够将连接改为管道方式的代理服务器
  • HTTP请求头

https://jingyan.baidu.com/article/375c8e19770f0e25f2a22900.html

字段

释义

示例

Host

请求的主机名

Accept

能够接受的返回内容类型

text/html;*

Accept-Encoding

能够接受的内容类型编码

gzip,deflate

Authorization

客户端认证信息

Basic dXNIcjpwYXNz

Connection

客户端使用的连接类型

keep-alive upgrade close

cookies

保存在该请求域名下的所有cookies值

content-Type

requestion的body部分类型

application/x-www-form-urlencoded multipart/form-data

content-Length

requestion的body部分长度

range

仅请求某个实体的一部分。字节偏移从0开始

Referer

之前网页Url,可以根据此判断访问来源

User-Agent

浏览器类型,一般包含名称、版本、操作系统信息等

X-Requested-With

用于标记Ajax

XMLHttpRequest

  • http状态码

https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin

  • 1xx消息–请求已被服务器接收,继续处理
    101—协议的切换
  • 2xx成功–请求已成功被服务器接收、理解、并接收
    200成功
    201 created 新创建资源,比如新建帖子
    202 请求已收到,需等待处理
  • 3xx重定向–需要后续操作才能完成这一请求
    301 永久重定向
    302 临时重定向
  • 4xx请求错误–请求含有此法错误或者无法执行
    401 需要授权—输入用户名密码
    403 禁止访问—服务器知道客户端是谁,但客户端无权限
    404 Not Found
    405 方法不被允许
  • 5xx服务器错误–服务器在处理某个正确请求时发生错误
    503 服务停止
  • http响应头


字段

释义

示例

Cache-Control

告诉缓存机制是否可以缓存及哪种类型

cache-control:publish,max-age=25920000

Connection

客户端使用的连接类型

keep-alive,close

Content-Encoding

服务器返回内容压缩编码类型

gzip

Content-Disposition

可以让客户端下载文件并建议文件名

Content-Disposition:attachment;filename=“abc.txt”

Set-Cookies

设置cookies

content-Type

Response的body部分类型

application/x-www-form-urlencoded multipart/form-data

content-Length

Response的body部分长度

Location

重定向时,重定向到的网址

expires

相应过期时间

expires:

Last-Modified

资源最后修改时间

Last-Modified:

Refresh

多少秒后重定向到某个网站

Refresh: 10;url=http://163.com

Server

web服务器名称

Server:nginx/1.7.12

Upgrade

协议升级用,表示已经升级到了什么协议

Upgrade:web socket

2.2 session、token
  • cooike和session


  • session和token的区别


2.3 授权和鉴权
  • 鉴权

(权限鉴定)访问的接口是否正常,是否是非法访问,绕过前端访问,一般系统使用session、token做鉴权

  • 授权

是否具有访问接口的权限,一般来说是唯一的、全局的、动态的,具有一定特征。(key)

2.4 get和post的区别
  • get
  • 通过url传参并进行url编码,不安全
  • 产生一个TCP数据包
  • 浏览器会把http header和data一并发送出去,服务器响应200(返回数据)
  • Post
  • post通过body传参,支持多种编码方式
  • 产生两个TCP数据包。
  • 浏览器先发送header,服务器响应100(continue),然后再发送data,服务器响应200(返回数据);
  • 数据和URL不会拼接到一起,post用额外的数据格式去传递如json/xml。

3. 接口测试工具

3.1 基本介绍
  • 原理:模拟客户端向服务端发送请求
  • 工具:jemeter、soupui、postman、fidder、loadrunner