常见的HTTP响应状态码解析

概要

状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。借助于状态码,浏览器(或者说用户)可以知道服务器是正常的处理了请求,还是出现了错误。

状态码以3位数字和原因短语组成,例如 200 OK 。

数字的第一位指定了响应类型,后两位无分类。响应类别一共有5种:

  • 1XX Informational(信息性状态码)
  • 2XX Success(成功状态码)
  • 3XX Redirection(重定向状态码)
  • 4XX Client Error(客户端错误状态码)
  • 5XX Server Error(服务器错误状态码)

HTTP响应状态码有很多,但是实际经常使用的大概只有14个。

2XX: 200 204 206
3XX: 301 302 303 304 307
4XX: 400 401 403 404
5XX: 500 503

状态码 描述
100 客户端可以继续
101 指示服务器正根据 Upgrade 头切换协议
200 请求正常成功
201 指示请求成功并在服务器上创建了一个新资源
202 指示已接受请求进行处理但处理尚未完成
203 指示客户端呈现的元信息并不源自服务器
204 指示请求成功但没有返回新信息
205 指示代理应该 重置导致请求被发送的文档视图
206 指示服务器已完成对资源的部分 GET 请求
300 请求的资源对应于表示形式集合中的某种表示形式,每种表示形式都有自己的特定位置
301 指示已经将资源永久地移动到了某个新位置,并且将来的引用应将新 URI 用于其请求
302 指示已经将资源暂时地移动到了另一个位置,但将来的引用仍应使用原来的 URI 访问该资源。 保留此定义是为了向后兼容。SC_FOUND 现在是首选定义
303 指示可在另一个 URI 之下找到该请求的响应
304 指示条件 GET 操作发现资源可用但不可修改
305 指示必须 通过 Location 字段给定的代理访问请求资源
307 指示请求的资源暂时驻留在另一个 URI 之下。临时 URI 应该 通过响应中的 Location 字段提供
400 指示客户端发送的请求在语法上不正确
401 指示请求需要进行 HTTP 验证
402 保留此代码以备将来使用
403 指示服务器理解请求但拒绝完成它
404 指示请求的资源不可用
405 指示 Request-Line 中指定的方法不支持 Request-URI 标识的资源
406 指示请求标识的资源只能生成响应实体,根据请求中发送的 accept 头,这些响应实体具有不可接受的内容特征
407 指示客户端必须 首先通过代理验证其自身
408 指示客户端没有在服务器准备等待的时间内生成请求
409 指示由于与当前资源状态冲突请求无法完成
410 指示资源在服务器上不再可用并且不知道转发地址。应该 认为此条件是永久性的
411 指示在没有定义 Content-Length 的情况下无法处理请求
412 指示在服务器上测试一个或多个请求头字段中给出的前提时,该前提被求值为 false
413 指示因为请求实体大于服务器愿意或能够处理的实体,所以服务器拒绝处理请求
414 指示因为 Request-URI 的长度大于服务器愿意解释的 Request-URI 长度,所以服务器拒绝为请求提供服务
415 指示因为请求实体的格式不受请求方法的请求资源支持,所以服务器拒绝为请求提供服务
416 指示服务器无法服务于请求的字节范围
417 指示服务器无法服务于请求的字节范围
500 指示 HTTP 服务器内存在错误使服务器无法完成请求
501 指示 HTTP 服务器不支持完成请求所需的功能
502 指示 HTTP 服务器在充当代理或网关时从它参考的服务器接收到一个无效响应
503 指示 HTTP 服务器暂时过载,并且无法处理请求
504 指示服务器在充当网关或代理时没有从上游服务器接收到及时的响应
505 指示服务器不支持或拒绝支持请求消息中使用的 HTTP 协议版本

你可能感兴趣的:(常见的HTTP响应状态码解析)