概要
状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。借助于状态码,浏览器(或者说用户)可以知道服务器是正常的处理了请求,还是出现了错误。
状态码以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 协议版本 |