接口测试之应用层

应用层和http协议

接下来我们来看一下5层网络模型下各个层次的作用和其中传输的数据。

应用层是网络应用程序和他们的应用层协议所在之处。

应用层有许多协议,比如 HTTP 协议,SMTP 协议 和 FTP 协议等。

HTTP协议,我们上网时在浏览器里输入的网址前的那个 http:// 就表示我们在用http协议请求和传送网页。

SMTP协议,简单邮件传输协议,在我们使用 Outlook 之类的邮件程序的时候就需要配置使用的电子邮件的SMTP服务器地址(也有的邮件是用POP3协议的)。

FTP协议,这个我们用得更多了,内网上传下载文件,常常使用FTP。

而应用层的网络应用程序,对测试人员来说,我们测试的绝大部分网站、app都是这种程序。比如搜索引擎,网上购物网站,论坛等等。

举一个例子,一个搜索引擎网站,我们在浏览器里,使用HTTP协议向这个网站的服务器端发送了一个请求要求获取某个关键字的搜索结果。我们在页面里输入的内容,被按照HTTP协议封装成报文,发送到这个网站的服务器端,服务器端按照HTTP协议把报文里的数据部分提取出来,进行处理。

像这样,我们通过浏览器里封装报文,使用应用层的HTTP协议和应用层以下的层次提供的“把报文传送到服务器端”的服务来完成报文的传输,之后服务器端再把报文解开,提取出内容,然后把搜索结果用一样的流程返回到浏览器里。下图表示了这个过程:

那么HTTP协议里又是怎样封报文和解报文的?

HTTP协议里是按照协议规定好的格式来封装报文和解报文的,比如这样:

这是一个HTTP请求的三个组成部分,

请求行,包括了使用的HTTP方法(如 Post,Get,Delete等), 请求的URL,和协议版本。

请求头(header),包括了一些字段,这里可以放很多有业务意义的字段,比如用户名和秘钥。也可以放一些很常见的通用的内容,比如日期,服务器软件名及版本,请求体长度等。

请求体(body),具体的业务数据,比如常见的restful 风格的http接口里会在这个地方放一个json对象。

上面是发送的请求,下面是服务器给的响应:

这里唯一的不同是响应的第一行是状态行。

状态行里可以看到状态码和短语,一些常见的状态码和短语有:

200 OK ,表示请求成功

301 Moved Permanetnly 表示所请求的内容已永久转移。这个响应的头部里会带上Location 这个字段,包含新的网址。而客户端会自动再次向新网址发起请求。

400 Bad Request,表示发送的请求服务器无法理解,通常就是发送了错误的请求内容。

404 Not Found,请求的资源找不到。

500 InternalServerError, 服务器内部错误。

应用层这里,我们只介绍了http协议,并且 http 协议的内容也远远没有介绍完,http 协议本身也有很多内容可以学习,感兴趣的话,可以从网络上继续搜索相关内容进行学习。

值得一提的是,我们做的接口测试,绝大部分都是HTTP协议的接口测试。

 

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

 全套资料获取方式:点击下方小卡片自行领取即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值