接口要素
从HTTP角度:
1.请求方式(GET POST PUT DELETE)
2.请求地址(URL)
3.请求参数:参数名、参数值、参数类型等
4.响应报文
接口测试类型: 功能测试 性能测试 安全测试
HTTP协议基础
HTTP协议特点:
主流版本: 1.1
传输协议:TCP
HTTP客户端与服务器交互的过程:
(1)在浏览器输入网址
(2)浏览器做地址解析
(3)封装成TCP包,建立TCP连接
(4)浏览器发送HTTP请求
(5)服务器响应HTTP请求
(6)服务器关闭TCP连接
(7)浏览器收到响应,处理响应信息,展示给用户。
URL组成:
格式:Protocol://hostname[:port]/path/[;parameters][?query]#fragment
Protocol:协议类型,HTTP或者HTTPS。
hostname:域名,主机名,IP地址
port:端口号。HTTP默认是80,HTTPS默认是443.
Path:资源路径
Parameters:参数----特殊请求参数,可以是文件名,可选(了解)
Query:请求参数----一般请求参数,可选(重点):咸度,辣度,重量。
格式:?参数名=参数值&参数名=参数值
例子:?xiandu=1&ladu=3&zhongliang=2
Fragment:锚点(信息片段)–定位到指定位置,可选,了解即可(了解)
例子:http://www.weather.com.cn/air/?city=101140101
请求的消息构成:
(1)请求行:请求方法 空格 请求地址 空格 版本协议
(2)请求头:请求的附加信息,键值对组成
(3)空行
(4)请求体:请求的数据(可以没有)
响应报文组成:
(1)状态行:协议版本 空格 状态码 空格 状态码描述
(2)响应头部: 键值对(字段名:字段值)
Content-Type:text/html(返回的数据类型)
与请求头部类似,为响应报文添加了一些附加信息。
(3)空行
(4)响应体:用于存放返回给客户端的数据信息,以Content-Type应答头信息所描述的格式发送用户所请求的实际数据。
比如:TEXT/HTML,文件,音频,视频,图片,JSON,XML
Web数据格式
1.XML
(1) 和 HTML比较
(2)标签:
- 尖括号括起来:
- 成对出现,最后一个标签名前面有斜杠。
- 标签可以嵌套,也就是具有层次。
2.JSON
(1 ) 语法规则:
- 数据在名称/值对中
格式:名称:值。类似于python中字典的元素。 - 名称和值之间使用冒号(英文半角):来连接。
- 名称必须是双引号括起来的字符串,不能缺少双引号。所谓名称,其实就是冒号前面的部分。
- 值可以不加双引号。不加双引号意思就是,这个值,不是字符串的数据类型。例如:数值,布尔值。
例子:“firstName”:“Bill”,“man”:TRUE,“age”:78
(2) 数据由逗号分隔
- 注意是英文半角逗号
例如三个基本的json数据,书写如下:“firstName”:“Bill”,“man”:TRUE,“age”:78
(3)花括号保存对象
- 花括号括起来的json数据,叫Json对象。可以包含多个JSON数据,用逗号分隔。
- 对象可以嵌套。
- 花括号必须成对出现。
- 多个对象之间由逗号分隔
(4) 方括号保存数组
- 方括号括起来的json数据,叫Json数组。可以包含多个JSON数据,用逗号分隔。
- 数组可以嵌套。
- 方括号必须成对出现。
- 多个数组之间由逗号分隔。
(5)JSON的值可以是:JSON的值,值就是冒号后边的部分
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)–指的是JSON数组,也就是方括号括起来的JSON数据
- 对象(在花括号中)–指的是JSON对象,也就是花括号括起来的JSON数据
- null–表示为空
RESTful接口介绍
是一种接口设计风格,在接口地址、接口方法、响应结果等要素上有自己的一套规则或者风格。
接口地址:
格式:http://服务器地址:端口号[/项目名称/版本]/资源集合[/单个资源]
要素:
- http://:为我们HTTP协议的访问头标准
- 服务器地址:为我们项目服务器IP地址
本地IP地址:127.0.0.1,localhost - 端口号:为我们服务器内项目访问的指定编号
- [/项目名称/版本]:可选
- 资源:互联网-图片、音乐、视频、文本、数据、可执行程序等等
请求方法:
最常见的就是:get、post。其次是:put、delete。
GET(SELECT):从服务器 取出资源(一项或多项)。—查询
POST(CREATE):在服务器新建一个资源。—新增
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。–修改
DELETE(DELETE):从服务器删除资源。–删除
响应报文:
状态码
响应报文消息体数据:多数是json