接口基本概念(未完待续)

举例:http://192.168.111.83:55999/demotest/logon.do

接口常见术语

IP(192.168.111.83):相当于具体地址,如国贸大厦
端口(55999):相当于详细到房间号,如3楼607,端口号和应用服务是一对一的关系
 -暴露出来的端口号
 -端口号默认80
接口:提供一方就是接口,提供服务的功能就是一个接口
 如http://192.168.111.83:55999/demotest/logon.do就是一个登录接口
 *内部接口:系统内部与内部模块之间的调用
  如支付宝登录成功后跳到主页,登录接口(内部接口)
  如京东宝贝详情和支付页面,都是两个不同的子系统
 外部接口:完全不同公司不同系统之间的调用
  如某电商平台调用支付宝支付,此时电商的支付接口就是外部接口
  如短信/天气预报接口,微信提供微信支付的接口给外部用,此时微信测试工程师就要测自
  己的接口是否能被正常调用
IP/端口/物理机的联系:
 一个IP可以有多个端口(多个服务)
 一个端口就是一个服务(软件),如tomcat服务
 一个服务器(硬件物理机)可以有多个服务多个端口

Http请求

一个完整http请求包含了一个请求行、请求头、请求体(post才有)
请求行
包含了请求方式、资源名称、协议版本号
在这里插入图片描述
请求方式:客户端和服务器之间的请求的方式,最常用getpost ,还有put/delete(用的少)
 get:从服务器获取数据
 post:向服务器提交数据
 get&post区别
  1.get参数位置附在url中,post在请求体中
  2.get可被缓存,post无法缓存
  3.get参数有长度限制,而post无限制
  4.业务角度:get静态页面多,post如提交表单等处理敏感数据
  5.安全性:post安全性更高,get安全性低

请求头

在这里插入图片描述
描述了请求的客户端的环境信息,配置信息,cookie/token、文本压缩方式等,一般键值对方式呈现
Accept:text/html,image/*
 text表示文本文件,html表示文本文件当中的一个类型
 ,还有js,prope…xml,css,txt 等等都算test的一种,Image
 表示图片,/*表示所有类型图片,包括jpg等
Accept-language:zh-cn
 浏览器自带的,可手动改
referer
 来自哪个页面的,防盗链
其他常见参数
 *token
 *cookie
   一个cookie可以同时带有有多个不同的参数,cookie刚开
  始是从服务器放到浏览器,下次发送请求带上cookie
  到请求头里面
   -如果这个浏览器保存A,换一个浏览器cookie信息保存
   的是B,AB值一般不相同,个人数据(如jsessionid)相同
   而共性数据是相同的
 *content-type
  post请求时必须有,用来表明请求体什么类型格式进行编码的,国际已定好对照表
  如下图所以,Content-Type说明此时请求体为键值对格式在这里插入图片描述

 content-length:请求字节长度

请求体

背景:参数放在请求头时有个数限制且安全性不高
三种格式:application/json application/x-www-form-urlencoded Application/xml
*json
 一个json对象:{"":"", “”:""…}    -最小单元:键值对
 多个json对象即一个json数组:[{},{}…]
 一个json数组又可被一个上层嵌套:{"":[]}…
 json对象:{ “pName“:苹果,“price”:“128”,“origin”:”xinjiang”}
 多个json: [ {“pName“:菠萝,“price”:“256”,“origin”:”gd”},
                 {“pName“:菠萝,“price”:“256”,“origin”:”gd”} ]
 一个json数组被上一层嵌套:{ “fruit”:[{"":"",…},{"":"",…}]}
 注意,测试无需关注json如何产生
urlencoded
具体格式和parmes一样(键值对)
xml
用的少

Http响应

状态行

通常为HTTP/1.1

状态码

响应行返回的三个数字的号码,告诉客户端请求成功与否,或者是否转发
 举例: HTTP/1/1 200 OK
2XX:最常见的200,请求成功
 注意:200只是通讯的成功,业务是否成功不一定
3XX:重定向,301/302
 最常见302,暂时性重定向
            304,之前响应参数:last_modified:AAA.AA.A ;
                      现在发送请求:if-modified-since: BBB.BB.B
4XX:客户端请求错误
 最常见404:资源不在(服务器资源已移除)或者路径写错了(客户端操作问题)
 400 bad request:接口测试如果API参数必须提供而未提供时(比较多见)
 401:未登录情况下请求接口时出现,客户端需要鉴权登录(用的少)
 403:没有权限访问一些资源,也需要授权才能访问
5XX:服务器错误
 测试遇见5XX,基本可以直接提严重Bug了
 502:nginx配置不对时出现

响应头

location
 跳转地址,一般用于重定向(301/302)指向的地址,客户
 端会根据这个返回地址请求对应地址
set-cookies
Server
 服务器的型号
Content-Type:数据类型
… 常见响应头遇到使用时候再具体百度了解即可
在这里插入图片描述
Transfer-encoding
  chunked 这个请求太大了,分块传输
cache-control
  no-cache 完全不需要缓存,每次重新加
   载页面(强制每次请求直接发送给源服务器,而不经
   过本地缓存版本的校验)
  private新打开的浏览器地址栏输入时第一次重新
    加载(就是说浏览器刚打开时就用最新的,后续用缓
    存即可),之后直接从缓存中读取
  max-age=X X秒后缓存失效,由这个参数决定是否做
    缓存!
expires
 缓存过期时间,作用在再新打开的页面,和cache-control参
 数共同完成缓存的控制

响应体

一般是json/xml格式,状态码200/204时通常不存在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值