HTTP接口自动化测试 – 三郎君的日常

面试 · 2023年5月8日 0

HTTP接口自动化测试

HTTP简介

在TCP/IP中,HTTP属于传输层协议。HTTP采用“请求—应答”模式,并且该协议是无状态的,即后续的处理如果需要用到前面的信息,则必须重传。HTTP通过SSL/TLS加密成为HTTPS,与HTTP相比,HTTPS的安全性更好,但传输速度不及HTTP。HTTP中有多种请求方法。

1.GET方法GET方法用于获取指定资源,可理解为“读取”资源。在GET方法的URL中可以携带参数,携带参数的格式为“key1=value1&key2=value2&key3=value3”。

2.HEAD方法与GET方法一样,HEAD方法也用于获取指定资源,区别在于,HEAD方法的响应报文没有消息体。

3.POST方法POST方法用于创建或修改指定资源,比如常见的提交表单或上传文件等。POST方法既可以在URL中携带参数,也可以在请求体中携带参数。POST方法和GET方法是最常用的两种HTTP请求方法。

4.PUT方法与POST方法一样,PUT方法也用于创建或修改指定资源,区别在于,PUT方法是幂等的,即调用一次与调用多次的效果一样;而POST方法是非幂等的,即调用多次效果可能有差异。

5.DELETE方法DELETE方法用于请求服务器删除指定的资源。

6.TRACE方法TRACE方法主要用于调试或测试,是对服务器的一种连通性测试方法。

7.OPTIONS方法OPTIONS方法一般用于检测服务器支持的请求方法,响应报文中包含一个名为Allow的响应头字段,该字段的值表示了服务器支持的HTTP方法。

8.CONNECT方法CONNECT方法一般用于代理服务器。比如,服务器使用HTTPS进行数据传输,且浏览器需要代理服务器,那么浏览器首先使用CONNECT方法以明文方式向代理服务器发送目标服务器的IP地址和端口,在代理服务器与目标服务器建立连接后再进行后续的数据传输。这样做的好处是代理服务器不会破坏HTTPS传输过程的安全性。在客户端发起HTTP请求后服务器会进行响应,不同的响应码对应不同的场景。

响应码由3位数字组成,第一个数字代表当前响应的类型。

1XX——提示信息,服务器的临时响应,此时客户端应继续发起请求。

2XX——成功,请求已被服务器成功处理,比如200 OK。

3XX——重定向,需要客户端进行后续操作才能达成目的,比如302 Found。

4XX——客户端错误,客户端请求发生错误,比如404Not Found。

5XX——服务器错误,服务器处理正确请求时发生错误,比如500 Internal Server Error。