HTTP状态代码列表

每个HTTP响应都带有一个状态码,该信号以清晰的数字表示有关如何处理请求的信息

HTTP状态代码是HTTP响应中的第一行,它是从服务器发送到客户端的。

如果您试图找出服务器发送特定状态代码的原因并了解其含义,或者正在构建服务器并且正在浏览以寻找完美的状态代码,则此列表将非常有用。

状态代码由3位数字和简短说明表示。

该数字的第一位数字标识反应组

有5组:

  • 1xx:信息性响应-表示已收到并理解了请求
  • 2xx:成功响应-表示已收到,理解并接受了客户请求的操作
  • 3xx:重定向-表示客户端必须采取其他措施才能完成请求
  • 4xx:客户端错误-表示存在错误,似乎是由客户端引起的
  • 5xx:服务器错误-指示服务器上发生了错误

在其余的文章中,我列出了所有有用的状态代码。

(我删除了一些技术特定的技术,例如WebDAV以及很少使用的技术)

信息回应

状态码 描述
100继续 服务器已接收到请求标头,客户端应继续发送请求正文(在需要发送正文的请求的情况下,例如POST请求)。在因不适当的标头而拒绝了请求之后,将大型请求正文发送到服务器将效率很低。要让服务器检查请求的标头,客户端必须在其初始请求中发送Expect:100-continue作为标头,并在发送正文之前收到100 Continue状态码作为响应。如果客户端收到错误代码,例如403(禁止)或405(不允许使用方法),则不应发送请求的正文。响应417 Expectation Failed指示应重复请求而没有Expect头,因为它指示服务器不支持期望(例如,HTTP / 1.0服务器就是这种情况)。
101交换协议 客户端要求服务器切换协议,并且服务器已同意这样做。参见RFC 7231#6.2.2

成功的回应

状态码 描述
200 OK 这是成功HTTP请求的标准响应。
创建了201 通常是对POST请求的响应。该请求已完成,并且已经创建了新资源。
202接受 该请求已被接受以进行处理。关于实际处理及其结果,没有任何说明,这可能发生在单独的服务器上,也可能是成批处理的。
203非权威信息 原始服务器返回200,并且客户端和服务器之间的转换代理更改了有效负载
204没有内容 服务器成功处理了请求,但未返回任何内容。
205重设内容 服务器成功处理了请求,但未返回任何内容。与204响应类似,但是服务器要求客户端重置文档视图(例如,用于清除表单)
206部分内容 回应Range如果请求来自客户端,则服务器会发送部分内容响应。See RFC 7233#4.1

重新导向

状态码 描述
301永久移动 此请求和所有将来的请求都应定向到给定的URI。仅与GET / HEAD请求一起使用,并且308 Permanent Redirect所有其他方法。
找到302个 资源被临时移动到由Location标头。仅与GET / HEAD请求一起使用,并且307 Temporary Redirect所有其他方法。
303查看其他 发出POST或PUT请求后,指向Location标头,可使用新的GET请求访问。
304未修改 客户端使用请求标头时If-Modified-Since或者If-None-Match,此响应状态代码指示该资源尚未修改。
307临时重定向 类似于302请求,除非它不允许更改HTTP方法
308永久重定向 类似于301请求,除非它不允许更改HTTP方法

客户错误

状态码 描述
400错误的要求 由于客户端上生成了请求错误,因此服务器无法处理该请求。错误可能包括格式错误的请求,太大而无法处理的请求或其他。
401未经授权 在需要身份验证且未授权客户端时发送
403禁止 由于各种原因,该资源不可用。如果原因是身份验证,请选择401 Unauthorized状态码。
找不到404 找不到请求的资源。
405不允许的方法 该资源无法通过该HTTP方法使用,但可能与其他资源一起使用。
406不可接受 客户通过了Accept标头,其值与服务器不兼容。
要求407代理身份验证 在客户端和服务器之间有一个需要身份验证的代理。
408请求超时 服务器超时等待请求。
409冲突 指示由于资源的当前状态冲突(例如多个同时更新之间的编辑冲突)而无法处理请求。
410去了 该资源不再可用,将不再可用。例如,比404更强大的功能是,搜索引擎将其解释为从其索引中删除该资源的指示。
411所需长度 客户端需要向请求添加Content-Length标头,这是必需的。
412前提条件失败 如果客户发送了If-Unmodified-Since或者If-None-Match请求标头,并且服务器不能满足该条件。
413有效负载过大 该请求大于服务器愿意或能够处理的请求。
414 URI太长 提供的URI太长,服务器无法处理。
415不支持的媒体类型 请求实体具有服务器或资源不支持的媒体类型。
416范围不满足 客户要求使用Range标头,但服务器无法提供该部分。
417期望失败 服务器无法满足以下要求Expect请求标头。
421错误的请求 该请求被定向到不能产生响应的服务器(例如,由于连接重用)。
426需要升级 客户端应切换到协议中指定的其他协议,例如TLS / 1.0Upgrade标头字段。
428需要先决条件 服务器要求该请求包含一个If-Match标头。
429请求太多 用户在给定的时间内发送了太多请求。用于速率限制。
431请求标头字段太大 由于一个或多个标头或整个标头集太大,因此无法满足该请求。
451由于法律原因不可用 由于法律原因该资源不可用

服务器错误

状态码 描述
500内部服务器错误 通用服务器错误消息,在遇到意外情况且没有其他更具体的消息时给出。
501未实施 服务器要么无法识别请求方法,要么就无法满足请求。
502错误的网关 该服务器充当网关或代理,并从上游服务器收到无效响应。
503服务不可用 该服务器当前暂时不可用(因为它过载或为了维护而关闭)。
504网关超时 该服务器充当网关或代理,没有及时收到上游服务器的响应。
不支持505 HTTP版本 服务器不支持请求中指定的HTTP协议版本。

更多网络教程: