接口测试——HTTP状态码

HTTP状态码

信息性状态码(100–199)

状态码描述应用场景
100 Continue表示请求的初始部分已经被服务器接收,客户端应继续发送剩余的请求。在上传大型文件前,客户端可以先发送一个带有Expect: 100-continue头部的小请求,等待服务器确认是否接受整个请求。
101 Switching Protocols客户端请求服务器切换协议,服务器同意切换。常用于WebSocket连接升级,从HTTP/HTTPS切换到WebSocket协议。

成功状态码(200–299)

状态码描述应用场景
200 OK请求成功,服务器返回了预期的数据。标准的成功响应,适用于大多数GET请求。
201 Created请求成功且资源被创建。POST请求创建新资源时使用,通常会返回新资源的位置。
204 No Content请求成功但没有内容返回。更新操作完成后,如果不需要向客户端返回数据,则可使用此状态码。

重定向状态码(300–399)

状态码描述应用场景
301 Moved Permanently资源已被永久移动到新位置。当网站结构发生改变时,旧URL应指向新URL以保持链接的有效性。
302 Found资源临时位于另一个位置。与301类似,但为临时性重定向。
304 Not Modified资源未修改。用于缓存验证,避免重复传输未更改的数据。

客户端错误状态码(400–499)

状态码描述应用场景
400 Bad Request请求有误,无法处理。参数格式错误、缺少必要参数等情况。
401 Unauthorized请求需要用户身份验证。访问受保护资源时未提供有效的认证凭据。
403 Forbidden服务器理解请求但拒绝执行。用户无权限访问该资源。
404 Not Found服务器找不到请求的资源。资源不存在或路径错误。
429 Too Many Requests用户在给定时间内发送了太多请求。限制API调用频率,防止滥用。

服务器错误状态码(500–599)

状态码描述应用场景
500 Internal Server Error服务器遇到意外情况,阻止其完成请求。服务器内部错误,可能是代码bug或配置问题。
501 Not Implemented服务器不具备完成请求的功能。请求的方法或功能尚未实现。
502 Bad Gateway作为网关或代理服务器收到无效响应。后端服务器出现问题或网络故障。
503 Service Unavailable服务器暂时不可用。过载或维护期间,建议稍后再试。

注: 200、201、204、301、302、400、401、403、404、500比较常用

​ Django开发web网站时,如果出现403可以考虑是不是HTML页面是不是缺少了有效的CSRF令牌

​ eg:表单内添加{% csrf_token %}模板标签;Ajax请求中的JS代码片段手动添加(详情见Django栏目)

在接口测试中的应用

  • 验证功能正确性:通过检查返回的状态码来确保API按照预期工作。例如,当执行一个成功的GET请求时,应该返回200 OK;而POST请求成功创建资源后,应返回201 Created
  • 检测错误条件:利用状态码识别并修正客户端和服务器端的问题。比如,400 Bad Request提示你需要检查请求参数,而500 Internal Server Error则可能意味着需要查看服务器日志以找出根本原因。
  • 用户体验改进:基于返回的状态码提供友好的用户反馈。例如,当遇到404 Not Found时,显示“页面未找到”的消息;对于429 Too Many Requests,提示用户稍后再试。
  • 自动化测试:编写自动化测试脚本模拟各种请求条件,并根据预期的状态码验证API的行为。这有助于发现潜在的问题,提高软件的质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值