本文介绍了各种状态码以及其使用之处。
突然想到会不会有连HTTP状态码都没认全的小白,还是做一篇这个教程吧。(其实是灵感枯竭了咕咕咕)
HTTP状态码就像是服务器和客户端之间的沟通摘要,每当你在浏览器输入网址或调用API时,服务器除了返回数据,还会附带一个三位数字代码,告诉你这次请求的结果类型。
状态码的第一位数字代表了响应的大类,一般分为以下五种:
1xx(信息提示):服务器说收到,正在处理。这类码很少见,通常是临时响应。
2xx(成功):服务器说OK,这是你要的东西。这是最理想的回应。
3xx(重定向):服务器说搬家了,去那边拿。浏览器会自动跳转。
4xx(客户端错误):服务器说?what's this?
5xx(服务端错误):服务器说~~吾命休矣~~
接下来是详细介绍。
表示请求已被接收,正在继续处理。
就和打电话,人家说了一句,停了一下,你说嗯一样。
| 状态码 | 含义 | 简要说明 |
|---|---|---|
| 100 Continue | 继续 | 应当继续发送请求。 |
| 101 Switching Protocols | 切换协议 | 服务器应客户端请求,正在切换协议。 |
| 102 Processing | 处理中 | 服务器已收到并正在处理请求 |
| 103 Early Hints | 预提示 | 用于让浏览器预加载资源。 |
表示请求已被成功接收、理解并接受。
人家交给你的工作,你说好,我一定干。
| 状态码 | 含义 | 简要说明 |
|---|---|---|
| 200 OK | 成功 | 请求成功。 |
| 201 Created | 已创建 | 请求成功,并创建了新的资源。 |
| 202 Accepted | 已接受 | 请求已被接受,正在处理,但尚未处理完成。 |
| 203 Non-Authoritative Information | 非权威信息 | 请求成功,但返回的元信息是复制过的,不直接来自原始服务器。 |
| 204 No Content | 无内容 | 请求成功,但不返回内容。 |
| 205 Reset Content | 重置内容 | 请求成功,但要求客户端重置文档视图。 |
| 206 Partial Content | 部分内容 | 服务器成功处理了部分请求。 |
| 207 Multi-Status | 多状态 (WebDAV) | 消息体包含多个独立操作的状态。 |
| 208 Already Reported | 已报告 (WebDAV) | 避免在同一集合中重复列出绑定的内部成员。 |
| 226 IM Used | 已使用IM | 服务器已完成对资源的请求,响应表示当前实例应用的操作。 |
| 状态码 | 含义 | 简要说明 |
|---|---|---|
| 300 Multiple Choices | 多种选择 | 有好几个能选的结果。 |
| 301 Moved Permanently | 永久移动 | 请求的资源已被永久移动到新URL。 |
| 302 Found | 临时移动 | 请求的资源临时从不同的URI响应。 |
| 303 See Other | 查看其他 | 建议客户端使用GET方法访问另一个URI获取响应。 |
| 304 Not Modified | 未修改 | 资源未被修改,可使用缓存版本。 |
| 305 Use Proxy | 使用代理 (已废弃) | 被请求的资源必须通过指定的代理才能访问。 |
| 306 Switch Proxy | 切换代理 (已废弃) | 不再使用。 |
| 307 Temporary Redirect | 临时重定向 | 资源临时从不同的URI响应,且方法不变。 |
| 308 Permanent Redirect | 永久重定向 | 资源被永久移动到新URI,且方法不变。 |
| 状态码 | 含义 | 简要说明 |
|---|---|---|
| 400 Bad Request | 错误请求 | 一般来说是语法错误。 |
| 401 Unauthorized | 未授权 | 请求需要认证/token。 |
| 402 Payment Required | 需要付款 | 需要付款才能继续,现在几乎没有使用场景。 |
| 403 Forbidden | 禁止访问 | 服务器拒绝此次访问。 |
| 404 Not Found | 未找到 | 找不到你要请求的资源。 |
| 405 Method Not Allowed | 方法不允许 | 请求行中指定的方法不被允许。 |
| 406 Not Acceptable | 不可接受 | 无法使用请求的内容特性响应请求的资源。 |
| 407 Proxy Authentication Required | 需要代理认证 | 先在代理服务器上进行认证才能访问。 |
| 408 Request Timeout | 请求超时 | 请求超时。 |
| 409 Conflict | 冲突 | 请求与服务器当前状态冲突。 |
| 410 Gone | 已永久删除 | 请求的资源已被永久删除。 |
| 411 Length Required | 需要长度 | 服务器拒绝处理未定义Content-Length的请求。 |
| 412 Precondition Failed | 前提条件失败 | 请求头中的前提条件被服务器评估为失败。 |
| 413 Payload Too Large | 负载过大 | 请求实体大于服务器愿意处理的大小。 |
| 414 URI Too Long | URI过长 | 请求的URI过长,服务器无法处理。 |
| 415 Unsupported Media Type | 不支持的媒体类型 | 请求的格式不受支持。 |
| 416 Range Not Satisfiable | 范围不满足 | 请求的范围无效。 |
| 417 Expectation Failed | 期望失败 | 服务器无法满足Expect请求头的要求。 |
| 418 I'm a teapot | 我是茶壶 | 一般用于未正确部署。 |
| 422 Unprocessable Content | 不可处理的内容 (WebDAV) | 请求格式正确,但语义错误。 |
| 423 Locked | 已锁定 (WebDAV) | 正在访问的资源被锁定。 |
| 424 Failed Dependency | 依赖失败 (WebDAV) | 请求失败是因为之前请求失败。 |
| 425 Too Early | 太早 | 服务器不愿意承担重放请求的风险。 |
| 426 Upgrade Required | 需要升级 | 客户端应切换到其他协议。 |
| 428 Precondition Required | 需要前提条件 | 服务器要求请求是有条件的。 |
| 429 Too Many Requests | 请求过多 | 请求的速度太快,超过设定限制。 |
| 431 Request Header Fields Too Large | 请求头字段过大 | 请求头字段过大,服务器无法处理。 |
| 451 Unavailable For Legal Reasons | 因法律原因不可用 | 因法律原因无法提供资源。 |
| 状态码 | 含义 | 简要说明 |
|---|---|---|
| 500 Internal Server Error | 内部服务器错误 | 服务器遇到错误,无法完成请求。 |
| 501 Not Implemented | 未实现 | 不具备完成请求的功能。 |
| 502 Bad Gateway | 错误网关 | 网络出了故障或者无效响应。 |
| 503 Service Unavailable | 服务不可用 | 服务器超载或停机维护,暂时无法处理请求。 |
| 504 Gateway Timeout | 网关超时 | 网络超时。 |
| 505 HTTP Version Not Supported | HTTP版本不支持 | 服务器不支持请求中使用的HTTP协议版本。 |
| 506 Variant Also Negotiates | 变体也协商 | 服务器内部配置错误,导致循环引用。 |
| 507 Insufficient Storage | 存储不足 (WebDAV) | 服务器无法存储完成请求所需的内容。 |
| 508 Loop Detected | 检测到循环 (WebDAV) | 服务器在处理请求时检测到无限循环。 |
| 510 Not Extended | 未扩展 | 请求需要进一步扩展,服务器才能完成。 |
| 511 Network Authentication Required | 需要网络认证 | 客户端需要认证以获取网络访问权限。 |