刚看了HTTP所有的状态码,突然觉得设计很有意思。
1xx - 请求的活还没干完
2xx - 请求的活已经干完
3xx - 请求的活干不下去了,需要进一步操作(重定向)
4xx - 客户端有问题
5xx - 服务器端有问题
附上具体的状态码含义:(参考维基百科https://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81)
1xx 状态码表示服务器已收到请求,处理将继续。
100 继续 – 现在一切正常,继续。
101 切换协议 – 有消息,例如升级请求、正在将事物更改为不同的协议。
102 处理 – 该代码表示服务器已经收到并正在处理请求,但无响应可用。这样可以防止客户端超时,并假设请求丢失。
103 预提示 – 用来在最终的HTTP消息之前返回一些响应头。
2xx 状态码表示客户端请求已被接收、理解、并接受。
200 OK — 一切都成功。
201 已创建 — 与 200 类似,但衡量成功的标准是创建了新资源。
202 已接受 — 已接受处理请求,但尚未完成。它甚至可能还没有开始。
203 非授权信息 — 从服务器发送给你后发生了一些变化。
204 无内容 — 请求已发送,但正文中没有内容。
205 重置内容 — 将文档重置为原始状态,例如,清除表单。
206 部分内容 — 只发送了部分内容。类似于断点续传
207 多状态 — 有更多的响应代码,可能是 2xx、3xx、4xx 或 5xx。
208 已经报告 — 客户端告诉服务器之前提到的相同资源。
226 IM 使用 — 这允许服务器向客户端发送资源的更改。
3xx 状态码表示客户端在请求成功之前还需要做一些事情。
300 多项选择 – 有不止一种可能的响应,你可能必须选择其中之一。
301 永久跳转 – 旧资源现在重定向到新的资源上。
302 Found – 旧资源现在临时重定向到新资源。
302 临时跳转 – 旧资源现在临时重定向到新资源。
303 查看其他 – 这是另一个重定向,表明资源可能在其他地方找到。
304 无修改 – 表示页面没有被修改。通常用于缓存。
305 使用代理 – 请求的资源仅在你使用代理时可用。
306 切换代理 – 你的下一个请求应使用指定的代理。此代码不再使用。
307 临时重定向 – 具有与 302 重定向相同的功能,但你不能在 POST 和 GET 之间切换。
307 HSTS 机制 – 强制客户端在发出请求时使用 HTTPS 而不是 HTTP。
308 永久重定向 – 具有与 301 重定向相同的功能,但你不能在 POST 和 GET 之间切换。
4xx 状态码表示客户端有错误。该错误通常会在响应中显示。
400 请求错误 – 客户端请求有问题。它可能格式不正确、无效或太大、或现在服务器无法理解请求。
401 未授权 – 客户端在需要时没有识别或验证自己。
402 支付请求 – 这没有官方用途,它是为未来的某种数字支付系统保留的。一些商家出于自身原因使用此功能,例如 Shopify 在商店未支付费用时使用此功能,而 Stripe 将其用于潜在的欺诈性付款。
403 阻止访问 – 客户端已知但没有访问权限。
404 未找到 – 未找到请求的资源。
405 方法不被允许 – 不支持使用的请求方法,例如,表单需要使用 POST 但使用 GET 代替。
406 不被接受 – 客户端请求的接受头不能被服务器完成。
407 代理身份验证 – 需要通过代理进行身份验证。
408 请求超时 – 服务器已超时、或决定关闭连接。
409 冲突 – 请求与服务器状态冲突。
410 丢失 – 类似于未找到请求的 404,但这也表示它不会再次可用。
411 字段长度请求 – 请求没有包含内容长度字段。
412 前提条件失败 – 客户端对服务器的请求不满足设置条件。
413 超出限制 – 请求大小超出服务器的限制。
414 URI 过长 – 请求的 URI 超出服务器限制。
415 不支持该格式 – 服务器不支持请求的格式。
416 超出范围 – 客户端请求服务器无法提供的文件部分。例如,它请求文件实际结束位置之外的文件部分。
417 预期失败 – 服务器无法满足 “Expect” 请求标头中指示的预期。
418 I’m a Teapot – 当你尝试在茶壶中冲泡咖啡时发生。这始于 1998 年的愚人节玩笑,但实际上已标准化。如今,随着一切都变成智能设备,这可能会被使用。
421 被误导的请求 – 请求发送到的服务器无法响应。
422 实体无法处理 – 请求中存在语义错误。
423 锁定 – 请求的资源被锁定。
424 依赖失败 – 发生此故障是因为它需要另一个同样失败的请求。
425 过早请求 – 服务器此时不愿意处理请求,因为请求很可能稍后会再次出现。
426 需要升级 – 服务器拒绝请求,直到客户端使用更新的协议。 “升级” 标题中会指出需要升级的内容。
428 需要先决条件 – 服务器要求请求是有条件的。
429 请求过多 – 这是一种保护服务器的速率限制形式,因为客户端向服务器发送的请求太快了。
431 请求标头字段太大 – 服务器不会处理请求,因为标头字段太大。
5xx 状态码表示服务器有错误,它知道它不能执行请求。响应将包含错误原因。
500 内部服务器错误 – 服务器遇到某种问题、并且没有更好或更具体的错误代码。
501 无法实现 – 服务器不支持请求方法。
502 网关错误 – 服务器处于请求中间状态。但是它从它路由到的服务器收到了错误的响应。
503 暂停服务 – 服务器因维护而过载或停机,现在无法处理请求。它可能很快就会恢复。
504 网关超时 – 服务器处于请求中间状态。但是没有收到来自它路由到的服务器的及时响应。
505 HTTP 版本不支持 – 服务器不支持请求中的 HTTP 协议版本。
506 变体协商 – 当服务器有多个变体时,允许客户端获得资源的最佳变体。
507 存储空间不足 – 服务器无法存储完成请求所需存储的内容。
508 检测到环路 – 服务器在尝试处理请求时发现无限循环。
510 未扩展 – 在服务器完成请求之前,需要对请求进行更多扩展。
511 需要网络身份验证 – 客户端需要在服务器允许访问之前,进行身份验证。