当前位置: 首页 > news >正文

接口测试——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的行为。这有助于发现潜在的问题,提高软件的质量和可靠性。

相关文章:

  • LabVIEW软件设计锂电池故障模拟检测
  • BOSS的收入 - 华为OD机试(A卷,C++题解)
  • Linux:如何查看Linux服务器的磁盘、CPU、内存信息?
  • 深挖Java之:运算符与输入器
  • K8S自动弹性伸缩机制详解
  • toLua笔记
  • WebRTC 服务器之Janus概述和环境搭建
  • mysql主从复制搭建,并基于‌Keepalived + VIP实现高可用
  • LeetCode //C - 696. Count Binary Substrings
  • 多模态大语言模型arxiv论文略读(五十七)
  • CSS 预处理器 Sass
  • 【SAP】FISL的应用
  • Android Compose 物联网(IoT)UI 组件库封装指南
  • 《Qt C++ 项目中升级 GCC 版本的完整指南》
  • 【JavaScript】性能优化:打造高效前端应用
  • 如何在WORD WPS中输入英语音标 批量给英语标注音标
  • 基于STM32的智能摇头风扇设计(WIFI+语音控制)
  • 【计算机视觉】三维重建: MVSNet:基于深度学习的多视图立体视觉重建框架
  • npm pnpm yarn 设置国内镜像
  • 音视频开发成长之路与音视频知识总结
  • 上海乐高乐园度假区将于7月5日开园
  • 沪幼升小网上报名明起开始,是否参与民办摇号怎么定?
  • “模”范生上海,如何再进阶?
  • 公安部:“五一”假期全国社会大局稳定,治安秩序良好
  • “五一”假期预计全社会跨区域人员流动量累计14.67亿人次
  • 格桑花盛放上海,萨迦艺术团襄阳公园跳起藏族舞