接口测试,错误返回码和相应的原因

详细分解:

1xx(临时响应):表示临时响应并需要请求者继续执行操作的状态代码。

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

101  (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。

2xx (成功):表示成功处理了请求的状态代码。

注:200代表请求成,但是这并不意味着,返回的数据也是正确的

200  (成功)  服务器已成功处理了请求。

201  (已创建)  请求成功并且服务器创建了新的资源。

202  (已接受)  服务器已接受请求,但尚未处理。

203  (非授权信息)  服务器已成功处理了请求,但返回的信息可能来自另一来源。

204  (无内容)  服务器成功处理了请求,但没有返回任何内容。

205  (重置内容) 服务器成功处理了请求,但没有返回任何内容。

206  (部分内容)  服务器成功处理了部分 GET 请求。

3xx (重定向):接口重定向

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

301  (永久移动)  请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。

302  (临时移动)  意味着接口将重定向到另一个URL中去

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

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

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

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

4xx(请求错误):这些状态代码表示请求可能出错,妨碍了服务器的处理。

400  (错误请求)Bad Request请求包含语法错误

原因:(1)输入的参数多了或者少了(2)输入的参数错误(3)有时候服务器请求超时也会造成400错误

401  (未授权)401 Unauthorized当前请求需要用户验证

403  (禁止)    Forbidden服务器已理解请求,但拒绝执行它

原因:出现这类情况一般是访问这个接口需要一定的权限,但是访问者没有相应的访问权限

解决方法:

a.是否是登录的用户没有访问的权限;

b.在服务端这个接口没有配置访问权限,即禁止任何用户访问

404  (未找到) 服务器找不到请求的网页。

解决:仔细检查接口的RUL是否有误

405  (方法禁用)请求行中指定的方法不能用于请求相应的资源。

406  (不接受) 无法使用请求的内容特性响应请求的网页。

407  (需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。

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

409  (冲突)  服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。

410  (已删除)  如果请求的资源已永久删除,服务器就会返回此响应。

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

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

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

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

415  (不支持的媒体类型) Unsupported Media Type对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝

解决方法:

a.查看是否加了请求头部,一般来说必须要加的header是Content-Type:application/json;charset=utf-8;

b.在上传文件的时候要特别注意,请求的头部      Content-Type不是application/json格式,是multipart/form-data格式。

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

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

5xx(服务器错误)

这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。

代码  说明

500  (服务器内部错误)  服务器遇到错误,无法完成请求。

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

502  (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。

Bad Gateway作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应

解决方法:检查服务器

503  (服务不可用) Service Unavailable由于临时的服务器维护或者过载,服务器当前无法处理请求。

504  Gateway Timeout作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。 

505  (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本

FTP

1xx – 肯定的初步答复

这些状态代码指示一项操作已经成功开始,但客户端希望在继续操作新命令前得到另一个答复。 110 重新启动标记答复。

120 服务已就绪,在 nnn 分钟后开始。

125 数据连接已打开,正在开始传输。

150 文件状态正常,准备打开数据连接。

2xx – 肯定的完成答复

一项操作已经成功完成。客户端可以执行新命令。 200 命令确定。

202 未执行命令,站点上的命令过多。

211 系统状态,或系统帮助答复。

212 目录状态。

213 文件状态。

214 帮助消息。

215 NAME 系统类型,其中,NAME 是 Assigned Numbers 文档中所列的正式系统名称。

220 服务就绪,可以执行新用户的请求。

221 服务关闭控制连接。如果适当,请注销。

225 数据连接打开,没有进行中的传输。

226 关闭数据连接。请求的文件操作已成功(例如,传输文件或放弃文件)。

227 进入被动模式 (h1,h2,h3,h4,p1,p2)。

230 用户已登录,继续进行。

250 请求的文件操作正确,已完成。

257 已创建“PATHNAME”。

3xx – 肯定的中间答复

该命令已成功,但服务器需要更多来自客户端的信息以完成对请求的处理。 331 用户名正确,需要密码。

332 需要登录帐户。

350 请求的文件操作正在等待进一步的信息。

4xx – 瞬态否定的完成答复

该命令不成功,但错误是暂时的。如果客户端重试命令,可能会执行成功。

421 服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。

425 无法打开数据连接。

426 Connection closed; transfer aborted.

450 未执行请求的文件操作。文件不可用(例如,文件繁忙)。

451 请求的操作异常终止:正在处理本地错误。

452 未执行请求的操作。系统存储空间不够。

5xx – 永久性否定的完成答复

该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。

500 语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。

501 在参数中有语法错误。

502 未执行命令。

503 错误的命令序列。

504 未执行该参数的命令。

530 未登录。

532 存储文件需要帐户。

550 未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。

551 请求的操作异常终止:未知的页面类型。

552 请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)。

553 未执行请求的操作。不允许的文件名。

常见的 FTP 状态代码及其原因

150 – FTP 使用两个端口:21 用于发送命令,20 用于发送数据。状态代码 150 表示服务器准备在端口 20 上打开新连接,发送一些数据。

226 – 命令在端口 20 上打开数据连接以执行操作,如传输文件。该操作成功完成,数据连接已关闭。

230 – 客户端发送正确的密码后,显示该状态代码。它表示用户已成功登录。

331 – 客户端发送用户名后,显示该状态代码。无论所提供的用户名是否为系统中的有效帐户,都将显示该状态代码。

426 – 命令打开数据连接以执行操作,但该操作已被取消,数据连接已关闭。

530 – 该状态代码表示用户无法登录,因为用户名和密码组合无效。如果使用某个用户帐户登录,可能键入错误的用户名或密码,也可能选择只允许匿名访问。如果使用匿名帐户登录,IIS 的配置可能拒绝匿名访问。

550 – 命令未被执行,因为指定的文件不可用。例如,要 GET 的文件并不存在,或试图将文件 PUT 到您没有写入权限的目录。

接口测试:HTTP协议中的状态码相关推荐

  1. 【总结】HTTP协议中的状态码(200、403、404、500等)

    [总结]HTTP协议中的状态码(200.403.404.500等) 当我们打开网页或刷新网页或点击超链接等操作时,服务器都会给出相应的响应 返回的状态也有很多种 现在大多都是遵循HTTP协议的,在HT ...

  2. aria2百度网盘 http返回头无效_接口测试第10期:Fiddler中查看HTTP请求中的状态码...

    关注后回复[软件测试]查看更多上期介绍了常见的HTTP请求方法,get请求.post请求,今天介绍HTTP请求中的状态码,以后也能分辨出哪些状态码是表示客户端错误,哪些是服务器错误.状态码在Fiddl ...

  3. HTTP协议方法及状态码(HTTP协议入门必备)

    目录 基本概念 使用telnet演示HEAD方法 使用telnet演示TRACE方法 使用telnet演示OPTIONS方法 HTTP响应中的状态码 304响应演示 使用telnet演示304响应 基 ...

  4. TCP/IP协议及常见状态码说明(SYN,FIN,ACK,PSH,RST)

    TCP/IP协议及常见状态码(SYN,FIN,ACK,PSH,RST) TCP/IP协议\TCP协议原理\报文格式\三次握手的状态码 1.TCP/IP协议 TCP/IP协议(Transmission ...

  5. HTTP协议之http状态码详解 300-305 重定向

    HTTP协议之http状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了.  如果 ...

  6. linux查询日志中页面返回状态码,[linux shell] Shell脚本实现apache日志中的状态码分析...

    这篇文章主要介绍了Shell脚本实现apache日志中的状态码分析,本文先是介绍了按天切割日志的方法,然后给出了分析访问状态码的脚本,需要的朋友可以参考下 一.首先将apache日志按天切割 复制代码 ...

  7. SpringCloud工作笔记048---RESTful API 中 HTTP 状态码的定义_以及把RESTFul版本号_放到http协议header中_以及RestFul设计时的两个误区

    JAVA技术交流QQ群:170933152 ------------------------- RESTful架构有一些典型的设计误区. 最常见的一种设计错误,就是URI包含动词.因为"资源 ...

  8. 【HTTP协议】HTTP状态码列表大全

    HTTP状态码 当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求.当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应 ...

  9. HTTP协议之http状态码详解

    什么是HTTP状态码 HTTP状态码的作用是:Web服务器用来告诉客户端,发生了什么事. 状态码位于HTTP Response 的第一行中,会返回一个"三位数字的状态码"和一个&q ...

最新文章

  1. time.h中的相关计时函数time,localtime,clock等详解
  2. Jmeter之解决烦人的中文乱码问题
  3. 离散数学复习命题公式的范式
  4. 能不做自己写个类,也叫java.lang.String
  5. AndroidのActivity之退出返回栈(二)
  6. 微软发布Azure Stack更多细节,预计9月交付
  7. php获取cpu编码,PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
  8. java socket client_java socket client
  9. --从输入URL到页面展示的详细过程
  10. java 过滤字符串_java实现压缩字符串和java字符串过滤
  11. 【基础】CNN是靠什么线索学习到深度信息的?——一个经验性探索
  12. 友善的小精灵 Casper
  13. 用计算机绘制阀体各零件步骤,计算机绘图课程设计.doc
  14. 编译原理-4-上下文无关文法
  15. JavaWeb查漏补缺
  16. python读写 doc文件和docx文件
  17. WebIDE 使用指南
  18. 检测U盘插入并自动备份自定义文件下的文件(支持增量更新)
  19. iCloud 照片无法同步的解决方法
  20. 安装了VCam后,VideoCapture 出问题,FileStorage fs(X.yml, FileStorage::READ)报错

热门文章

  1. 360安全卫士“隐身僵尸木马”专杀工具,木马乎?
  2. 基于Java毕业设计学生在线评教系统源码+系统+mysql+lw文档+部署软件
  3. location.hash 原生js页面跳转/路由
  4. LintCode Url Parser
  5. 线性代数基本知识-思维导图
  6. 手把手教你如何用selenium实现自动抽奖工具(穿越火线王者夺宝活动为例)
  7. 开源嵌入式GIS引擎基于ucGUI
  8. 软件开发的KISS原则
  9. 微信支付apiV3编程实例php,PHP 微信小程序 微信支付 v3
  10. ros 双wan配置_网络设备接口相关配置