HTTP 状态码是一组标准的响应代码,由服务器返回给客户端,用于指示HTTP请求的处理结果。这些状态码分为五大类,每类代表一种特定的响应类型。以下是各类 HTTP 状态码的详细列表:
1xx 信息响应(Informational Responses)
- 100 Continue:请求已收到,客户端应继续发送请求的其余部分。
- 101 Switching Protocols:服务器同意切换到客户端请求的协议。
- 102 Processing (WebDAV):服务器已收到并正在处理请求,但尚无响应可用。
2xx 成功响应(Successful Responses)
- 200 OK:请求成功,服务器返回请求的数据。
- 201 Created:请求成功,并且服务器创建了新的资源。
- 202 Accepted:请求已被接受,但尚未处理完成。
- 203 Non-Authoritative Information:请求成功,但返回的信息可能来自第三方。
- 204 No Content:请求成功,但没有返回任何内容。
- 205 Reset Content:请求成功,但客户端应重置视图(例如表单)。
- 206 Partial Content:请求部分成功,服务器只返回了部分数据(通常用于断点续传)。
3xx 重定向(Redirection Messages)
- 300 Multiple Choices:请求有多种响应选项,客户端需选择一种。
- 301 Moved Permanently:请求的资源已被永久移动到新 URL。
- 302 Found:请求的资源临时移动到新 URL。
- 303 See Other:客户端应使用 GET 请求到不同的 URL 获取资源。
- 304 Not Modified:请求的资源未被修改,客户端可以使用缓存的副本。
- 305 Use Proxy:请求的资源必须通过指定的代理访问(已废弃)。
- 307 Temporary Redirect:请求的资源临时移动到新 URL,但请求方法不变。
- 308 Permanent Redirect:请求的资源已被永久移动到新 URL,请求方法不变。
4xx 客户端错误(Client Error Responses)
- 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 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:愚人节彩蛋,表示“我是一个茶壶”(RFC 2324)。
- 421 Misdirected Request:服务器无法生产响应,因为请求已发送到不可生产响应的服务器。
- 422 Unprocessable Entity (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:资源不可用,因为法律原因(如版权问题)。
5xx 服务器错误(Server Error Responses)
- 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):服务器检测到无限循环(WebDAV)。
- 510 Not Extended:请求需进一步扩展才能完成。
- 511 Network Authentication Required:客户端需进行网络认证才能访问资源。
这些状态码帮助开发者和用户了解请求的处理情况,并提供有关错误的详细信息以便解决问题。