API接口测试--HTTP协议简介

  介绍API接口之前,先简单介绍一下HTTP协议,这样会更好掌握API接口测试。

  HTTP(Hyper Text Transfer Protocol)协议即超文本传输协议,从服务端传输超文本到本地浏览器的传送协议。超文本指包括图片,视频,语音,文件等文本

  像我们平时用浏览器访问百度网页,即使用的是HTTP协议,作用于服务器-客户端之间,客户端发送请求到服务端,服务端接受到请求进行响应到客户端,客户端进行显示。

   

  HTTP请求消息Request

  客户端发送一个HTTP请求,包括几部分:请求行、请求头部、换行、请求数据。

  

 

 

   请求行中的第一个是请求方法,目前主要的有get ,post,put,delete等,以下是GET请求例子,使用Fiddler抓包百度首页

  

 

 

   第一行是请求行 :首先是请求方法,GET;随后是URL https://www.baidu.com;然后是协议版本 HTTP/1.1

  接下来的都是请求头部,从Host到Cookie都是。

  由于这里没有请求数据,所以未显示。

  

  以下是POST请求,以登录慕课网为例,使用fiddler抓取请求

    

  第一行是请求行 :首先是请求方法,POST;随后是URL https://www.imooc.com/passport/user/login;然后是协议版本 HTTP/1.1

  接下来的都是请求头部,从Host到Cookie都是。

  Cookie下面是换行,此行是必须的

  最后是请求数据,登录的用户名,密码。

  

  HTTP响应消息Reponse

  上一段讲解了,客户端即浏览器发出的请求数据,本段讲解服务器对请求做出的响应的数据。

  响应数据也包括四个部分:状态行 消息报文 空行 响应正文

  以上面登录慕课网的响应数据为例:

  

 

   第一行为状态行:协议版本:HTTP/1.1 ; 状态码:200 ;状态消息 OK

  接下来从Sever到Content-Length都是消息报文,用来说明客户端要使用的一些附加消息

  换行,紧接着是响应正文,服务器返回客户端的文本信息

 

  HTTP响应状态码

  上面提到响应数据的状态行里面有一个状态码,一般是三位数字,第一个数字定义了状态码类别,如下:

  1XX:  提示信息 - 表示请求已被成功接收,继续处理
  2XX : 成功 - 表示请求已被成功接收,理解,接受
  3XX:  重定向 - 要完成请求必须进行更进一步的处理
  4XX:  客户端错误 -  请求有语法错误或请求无法实现
  5XX:  服务器端错误 -   服务器未能实现合法的请求
 
  

  常见的状态码有如下几种:

    200 OK 客户端请求成功

    301 Moved Permanently 请求永久重定向

    302 Moved Temporarily 请求临时重定向

    304 Not Modified 文件未修改,可以直接使用缓存的文件。

    400 Bad Request 由于客户端请求有语法错误,不能被服务器所理解。

    401 Unauthorized 请求未经授权。这个状态代码必须和WWW-Authenticate报头域一起使用

    403 Forbidden 服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因

    404 Not Found 请求的资源不存在,例如,输入了错误的URL

    500 Internal Server Error 服务器发生不可预期的错误,导致无法完成客户端的请求。

    503 Service Unavailable 服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常。

 

 

posted @ 2021-07-31 11:19  longlongleg  阅读(915)  评论(0编辑  收藏  举报