接口测试-HTTP状态码详解

(我的公众号“墨石测试攻略”,关注获取软件测试相关知识及整套接口测试实战项目!)

HTTP 协议根据场景约定了一系列请求返回的状态码,方便对请求结果进行细粒度管理,这也是接口测试必须要了解的内容。HTTP状态码主要分为5类:

  • 1xx-表示已被接受,需要继续处理,这类响应是临时响应

  • 2xx-表示成功处理了请求

  • 3xx-重定向。表示要完成请求,需要进一步操作。例如:浏览器可能不得不请求服务器上的不同页面,或通过代理服务器重复该请求。建议在每次请求中使用重定向不超过5次

  • 4xx-请求错误

  • 5xx-服务器错误

各状态码详细说明(其中加粗标红部分为常用的几个状态码):

状态码

说明

100

继续-请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。

101

切换协议-请求者已要求服务器切换协议,服务器已确认并准备切换

200

成功-服务端成功处理了请求

201

已创建-请求成功并且服务器创建了新的资源;用户新建或修改数据成功

202

已接受-服务器已接受请求但未处理,表示一个请求已经进入后台排队(异步任务)

203

非授权信息-服务器已成功处理了请求,但返回的信息可能来自另一来圆

204

无内容-服务器成功处理了请求,但没有返回任何内容, 如[DELETE]:用户删除数据成功

205

重置内容-要求请求者重置文档视图(如清除表单内容以输入新内容)

206

部分内容-服务器成功处理了部分GET请求

300

多种选择-针对请求,服务器可执行多种操作。服务器可根据请求者选择一项操作,或提供操作列表供请求者选择

301

永久移动-请求的网页已永久移动到新位置。服务器返回此响应时会自动将请求者转移到新位置

302

临时移动-服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求

303

查看其他位置-请求者应当对不同的位置使用单独的GET请求来检索响应时,服务器返回此状态码

304

未修改-自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页的内容

可能原因:页面长时间不更新;CDN缓存

305

使用代理-请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理

307

临时重定向-服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求

400

错误、无效请求-服务器不理解请求的语法,也就是说,你传的数据服务器看不懂,

如[POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作

可能原因:前端提交的字段名或类型和后台实体类不一样;前端提交的参数和后台需要的参数个数不一致,导致无法封装;前端提交到后台的数据应该是Json字符串类型,而前端没有将对象转化为字符串类型,也会返回400

401

未授权-服务器理解请求但是拒绝执行,访问时有权限要求都可能返回401,对于登录后请求的网页,服务器可能返回此响应(令牌、用户名、密码错误)

403

禁止-服务器拒绝请求

可能原因:文件不允许读写和创建的情况下,进行了读写操作;DNS出现问题;自己的IP被加入了黑名单,在一定时间内多次访问可能出现403;网站空间没有绑定域名

404

未找到-请求资源失败,对于服务器上不存在的网页会返回此状态码,API不存在/页面不存在

405

方法禁用-请求方法不被接受,比如某个接口只能用post请求,但是用了get请求,则会报405

406

不接受-无法使用请求的内容特性响应请求的网页,用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)

407-

407(需要代理授权)此状态码与 401(未授权)类似,但指定请求者应当授权使用代理。如果服务器返回此响应,还表示请求者应当使用代理。

408(请求超时)服务器等候请求时发生超时。

409(冲突)服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。服务器在响应与前一个请求相冲突的 PUT请求时可能会返回此代码,以及两个请求的差异列表。

410(已删除)如果请求的资源已永久删除,服务器就会返回此响应。该代码与404(未找到)代码类似,但在资源以前存在而现在不存在的情况下,有时会用来替代 404 代码。如果资源已永久移动,您应使用 301指定资源的新位置。

411(需要有效长度)服务器不接受不含有效内容长度标头字段的请求。

412(未满足前提条件)服务器未满足请求者在请求中设置的其中一个前提条件。

413(请求实体过大)服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。

414(请求的 URI 过长)请求的 URI(通常为网址)过长,服务器无法处理。

415(不支持的媒体类型)请求的格式不受请求页面的支持。

416(请求范围不符合要求)如果页面无法提供请求的范围,则服务器会返回此状态码。

417(未满足期望值)服务器未满足”期望”请求标头字段的要求。

500

服务器内部错误-服务器发生不可预期的错误,常见于用户权限、数据库连接等出现的错误,后端问题

501

尚未实施-服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码

502

错误网关-服务器作为网关/代理,从上游服务器收到无效响应,如连接超时、服务器请求链接过多导致服务器无法正常响应

503

服务不可用-服务器当前不能处理客户端的请求

504

网关超时-服务器作为网关/代理,未及时从上游服务器收到请求

505

HTTP 版本不受支持-即服务器不支持请求中所用的 HTTP 协议版本

507

服务器有内部配置错误

(我的公众号“墨石测试攻略”,关注获取软件测试相关知识及整套接口测试实战项目!)

猜你喜欢

转载自blog.csdn.net/weixin_44901808/article/details/128867883