接口测试一:接口基础知识

什么是接口?

接口定义:接口(API)- Application Programming Interface,软件系统不同组成部分间衔接的约定。

接口分类

  • 按协议分:http、Socket、RPC(dubbo)等不同协议接口
  • 按功能分:增删改查
  • 按连接的两个部分的关系分:
  1. 内部
  2. 外部
  3. 第三方

接口设计风格

REST:Representational State Transfer,表现层状态转移,是分布式超媒体系统设计的一种架构风格,而不是标准。

  • 资源是由URI来指定
  • 对资源的操作包括获取、创建、修改和删除,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法
  • 通过操作资源的表现形式来操作资源

HTTP请求方法在RESTful API中的典型应用
接口测试一:接口基础知识

  • HEAD:获取报头
  • CONNECT:将连接改为管道方式的代理服务器
  • OPTIONS:允许客户端查看服务器的性能
  • TRACE:回显服务器收到的请求,用于测试或诊断

RESTful:满足REST架构约束条件和原则的应用程序或设计

RESTful API:包括URL、HTTP方法、状态码、请求格式、返回格式、错误处理等

  • URL格式:协议:// 域名 / [项目名称] / [api] / v1 / uri
  • 举例: 获取课组{uid}的课程资源的接口api
  • GET http://server.seewoedu.com/api/v1/course/groups/{uid}/courses

什么是HTTP

超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。是用于从WWW服务器传输超文本到本地浏览器的传输协议。

HTTP是唯一与REST相关的实例。

  • 协议:计算机双方必须共同遵守的一种约定。只有遵守这个约定,计算机之间才能相互通信交流。即一种沟通双方都能听得懂的编解码方式。
  • 超文本:即超级文本,用超链接的方式,将各种不同空间的文字信息组织在一起的网状文本
    1. http/0.9:仅用于传输HTML文档
    2. http/1.0-1.1:图片、PPT、视频等各种文档、一些特定格式的字符串:如json。
  • 传输:通过在客户端-服务器端之间转移代表资源当前状态的资源表述,来对服务器端的资源执行某种操作。

HTTP之Request

request由什么组成?
请求行、请求头、请求数据
接口测试一:接口基础知识
1. 请求行
URL组成:
接口测试一:接口基础知识
2. 请求头部

  1. cookie
  • 作用:利用cookie信息来标识用户
  • 种类:非持久cookie和持久cookie
  • 属性
    1. Domain:域,表示当前cookie属于哪个域或子域下
    2. Path:cookie的所属路径
    3. Expire time / Max-age: cookie的有效期
    4. secure:该cookie只适用于https传输
    5. httponly:该cookie必须用于http或https传输

3. 请求数据
POST请求有哪些格式(Content-Type)?
接口测试一:接口基础知识

HTTP之Response

1. 状态码
接口测试一:接口基础知识