HTTP协议(requests)

一、HTTP协议
  HTTP是应⽤层的协议,它不需要刻意的去关注底层⽹络传输层协议的东⻄。在整体应⽤层的协议中,通俗的说在整个API的测试维度上,需要关注的是⼀个完整HTTP请求流程,请求⽅法,请求头响应头,COOKIE请求流程,SESSION的请求流程和TOKEN的请求流程,以及HTTPS的请求流程。
二、HTTP完整请求

  在API的⾃动化测试中,我们更多关注的是HTTP应⽤层的交互,因为即使主流的架构如微服务架构,它的通信模式也是基于REST API轻量级的通信模式
    在HTTP的协议中,⼀个完整的HTTP请求流程具体为:
      1、客户端与服务端之间建⽴TCP的连接请求
      2、客户端向服务端发送Request的请求
      3、服务端Response相应回复给客户端
      4、客户端与服务端之间关闭TCP的连接请求

  针对如上的请求流程,它的完整请求流程如下:

   

      

 

 三、通信模式

(1)同步交互
  在客户端与服务端在进⾏交互的时候,通信模式主要分为同步通信和异步通信。同步通信简单的可以理解为客户端发送请求给服务端,服务端必须得回应客户端的请求。所以同步通信它存在如下的缺点,具体为:
  1、容易超时,客户端发送请求后,服务端迟迟没有回应客户端的请求
  2、如果请求是存在⼤的计算量和逻辑存在问题,就会导致请求堵塞,后⾯的都积压(容易堵塞)

同步请求的交互具体为:
  
(2)异步交互
由于同步交互存在超时以及堵塞的情况,所以也就有了异步的交互。在异步的交互中,客户端和服务端互相不需要关注对⽅的存在,只需要关注对应的MQ的消息,客户端与服务端的交互主要是会通过MQ的消息中间作为消息的传递来进⾏交互的,具体交互如下:
 

 四、常⽤请求⽅法

  在HTTP的应⽤层协议中,常⽤的请求⽅法具体为GET,PPST,PUT,DELETE的请求⽅法,具体如下所示:

五、常⽤协议状态码

  当客户端向服务端发送⼀个请求后,服务端响应回复返回给客户端,在返回的信息中会包含⼀个HTTP请求头的状态码信息⽤以响应客户端的请求。在⽹站https://http.cat中可以看⻅各个不同表情的状态码的显示,如调⽤https://http.cat/504就会显示如下对应的信息。常⽤的状态码具体为:
  200 请求成功
  301 永久重定向
  302 临时重定项
  400 Bad Request 客户端请求错误(400请求头或 请求参数不对 以400开头的都是客户端的问题)
  401 Unauthorized(未经授权的)
  403 Forbidden(被禁止的)
  404 请求的资源不存在
  405 不被允许的请求⽅法
  500 服务器内部错误
  504 GateWay Timeout(网关超时)

六、请求头/响应头

 七、常⽤请求数据格式

  

 

 

posted @ 2021-09-02 17:55  wuyikai  阅读(235)  评论(0编辑  收藏  举报