HTTP状态码大全及其含义
HTTP 状态码(HTTP Status Codes)是服务器在处理客户端请求时返回的数字响应代码,它们分为五种主要类别:
1xx(信息响应)
- ⭕100 Continue:表示服务器已接收请求头部,并且客户端应继续发送请求体。
- ⭕101 Switching Protocols:服务器正在根据客户端的请求切换协议。
- ⭕102 Processing:服务器正在处理请求,但尚未完成(WebDAV)。
- ⭕103 Early Hints:服务器在最终响应前发送的信息(例如:链接头信息)。
2xx(成功响应)
- ⭕200 OK:请求成功,响应内容取决于请求方法。
- ⭕201 Created:请求成功并导致创建了新的资源。
- ⭕202 Accepted:请求已被接受,但尚未处理完毕。
- ⭕203 Non-Authoritative Information:服务器已处理请求,信息来自另一来源。
- ⭕204 No Content:服务器成功处理了请求,但没有返回内容。
- ⭕205 Reset Content:服务器成功处理了请求,客户端应重置(丢弃)当前文档视图。
- ⭕206 Partial Content:服务器成功处理了部分 GET 请求。
- ⭕207 Multi-Status:代表多个独立操作的状态消息(WebDAV)。
- ⭕208 Already Reported:在以前的请求中已经报告(WebDAV)。
- ⭕226 IM Used:服务器已经满足了请求并应用了实例操作(HTTP Delta encoding)。
3xx(重定向)
- ⭕300 Multiple Choices:服务器可以根据请求执行多种操作。
- ⭕301 Moved Permanently:请求的资源已被永久移动到新位置。
- ⭕302 Found:请求的资源现在临时从不同的 URI 响应。
- ⭕303 See Other:服务器发送此响应将客户端重定向到其他位置。
- ⭕304 Not Modified:资源自上次请求后未被修改,用于缓存控制。
- ⭕305 Use Proxy:请求的资源必须通过代理访问。
- ⭕307 Temporary Redirect:请求的资源现在临时从不同的 URI 响应,但将来可能会更改。
- ⭕308 Permanent Redirect:这与301类似,但禁止HTTP方法更改。
4xx(客户端错误)
- ⭕400 Bad Request:服务器无法理解请求。
- ⭕401 Unauthorized:请求要求身份验证。
- ⭕402 Payment Required:保留的状态代码,尚未被使用。
- ⭕403 Forbidden:服务器理解请求,但拒绝执行。
- ⭕404 Not Found:服务器找不到请求的资源。
- ⭕405 Method Not Allowed:请求的方法被禁用。
- ⭕406 Not Acceptable:无法提供满足请求”Accept”头字段的响应。
- ⭕407 Proxy Authentication Required:与401类似,但需要代理身份验证。
- ⭕408 Request Timeout:服务器等待请求超时。
- ⭕409 Conflict:请求冲突,比如在修改资源时发生版本冲突。
- ⭕410 Gone:请求的资源已被永久删除。
- ⭕411 Length Required:服务器需要请求中的”Content-Length”头字段。
- ⭕412 Precondition Failed:服务器未满足请求头字段中的前提条件之一。
- ⭕413 Payload Too Large:请求体过大。
- ⭕414 URI Too Long:请求的URI过长。
- ⭕415 Unsupported Media Type:服务器不支持请求中的媒体类型。
- ⭕416 Range Not Satisfiable:服务器无法提供请求的范围。
- ⭕417 Expectation Failed:服务器未满足”Expect”请求头字段的要求。
- ⭕418 I’m a teapot:服务器拒绝尝试在茶壶上煮咖啡(这是一个关于HTTP的愚人节笑话)。
- ⭕421 Misdirected Request:请求针对的是无法产生响应的服务器。
- ⭕422 Unprocessable Entity:请求格式正确,但语义错误(WebDAV)。
- ⭕423 Locked:资源被锁定(WebDAV)。
- ⭕424 Failed Dependency:由于先前的请求失败,所以此请求失败(WebDAV)。
- ⭕425 Too Early:服务器不愿意冒着再次处理可能失败的风险。
- ⭕426 Upgrade Required:客户端应切换到其他协议。
- ⭕428 Precondition Required:需要前提条件(比如TLS)。
- ⭕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:服务器在处理请求时检测到无限循环(WebDAV)。
- ⭕510 Not Extended:进一步扩展请求所必需的信息。
- ⭕511 Network Authentication Required:客户端需要进行网络认证。
以上就是HTTP的主要状态码,具体的使用情况可能会根据实际的应用场景有所变化。