别瞎自定义状态码了
1xx:信息性状态码
状态码 | 名称 | 使用场景 |
---|---|---|
100 | Continue | 客户端应继续请求,等待后续响应。 |
101 | Switching Protocols | 服务器根据客户端的请求切换协议。 |
102 | Processing | 服务器正在处理请求,但尚未完成。 |
103 | Early Hints | 提供给客户端的提示,有助于优化响应时间。 |
2xx:成功状态码
状态码 | 名称 | 使用场景 |
---|---|---|
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 | 已报告的资源。 |
226 | IM Used | 请求成功,响应内容符合条件(用于透明代理)。 |
3xx:重定向状态码
状态码 | 名称 | 使用场景 |
---|---|---|
300 | Multiple Choices | 请求可根据多种方式完成,客户端需要选择一种。 |
301 | Moved Permanently | 请求的资源已被永久移至新位置。 |
302 | Found | 请求的资源临时性地移至不同位置。 |
303 | See Other | 客户端应通过另一个 URL 获取请求的资源。 |
304 | Not Modified | 请求的资源未被修改,客户端可使用缓存的副本。 |
305 | Use Proxy | 必须通过指定代理访问资源。 |
306 | (Unused) | 已弃用,曾用于协议变更。 |
307 | Temporary Redirect | 临时性重定向,客户端应使用原请求方式。 |
308 | Permanent Redirect | 永久性重定向,客户端应使用新 URL。 |
4xx:客户端错误状态码
状态码 | 名称 | 使用场景 |
---|---|---|
400 | Bad Request | 请求无效,服务器无法理解。 |
401 | Unauthorized | 客户端未进行身份验证或认证失败。 |
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 | Request Entity Too Large | 请求体过大,服务器无法处理。 |
414 | Request-URI Too Long | 请求的 URI 过长,超出了服务器的处理限制。 |
415 | Unsupported Media Type | 请求的媒体类型不被支持。 |
416 | Requested Range Not Satisfiable | 请求的范围无法满足,通常用于文件下载时的断点续传。 |
417 | Expectation Failed | Expect 头部的期望失败。 |
418 | I’m a teapot | 玩笑性质的错误码(RFC 2324)。 |
421 | Misdirected Request | 请求错误地指向了另一个服务器。 |
422 | Unprocessable Entity | 请求格式正确,但语义错误,无法处理。 |
423 | Locked | 资源被锁定,无法访问。 |
424 | Failed Dependency | 依赖的请求失败,通常在 WebDAV 使用。 |
425 | Too Early | 请求过早,服务器无法处理。 |
426 | Upgrade Required | 请求要求客户端升级协议(例如,要求使用 TLS)。 |
428 | Precondition Required | 请求缺少必要的条件(例如,客户端在请求头中未指定期望的条件)。 |
429 | Too Many Requests | 客户端发送过多请求,超出了限制。 |
431 | Request Header Fields Too Large | 请求头字段过大,服务器无法处理。 |
451 | Unavailable For Legal Reasons | 请求的资源不可用,原因可能与法律问题有关。 |
5xx:服务器错误状态码
状态码 | 名称 | 使用场景 |
---|---|---|
500 | Internal Server Error | 服务器内部错误,无法完成请求。 |
501 | Not Implemented | 服务器不支持请求的方法。 |
502 | Bad Gateway | 网关或代理服务器返回错误,通常是上游服务器的问题。 |
503 | Service Unavailable | 服务器暂时无法处理请求,通常是过载或维护。 |
504 | Gateway Timeout | 网关或代理服务器超时,无法从上游服务器获取响应。 |
505 | HTTP Version Not Supported | 服务器不支持请求的 HTTP 版本。 |
506 | Variant Also Negotiates | 服务器存在内部错误,无法完成请求。 |
507 | Insufficient Storage | 服务器存储不足,无法处理请求(通常用于 WebDAV)。 |
508 | Loop Detected | 请求导致无限循环,服务器检测到循环时返回此错误。 |
510 | Not Extended | 请求需要扩展,当前服务器不支持该扩展。 |
511 | Network Authentication Required | 需要进行网络认证才能访问资源,通常用于 HTTP 代理。 |
总结
- 1xx (信息性):用于传递进度信息,通常不用于常规应用中。
- 2xx (成功):表示请求已成功处理,响应内容根据状态码的不同有不同含义。
- 3xx (重定向):需要客户端采取进一步的操作来完成请求。
- 4xx (客户端错误):客户端发送的请求存在问题,需要进行修正。
- 5xx (服务器错误):服务器处理请求时发生错误,通常是临时性问题。