
---

# HTTP 状态码详解

HTTP 状态码分为 **5 大类**，每个类别代表不同的响应类型。

---

## 1xx：信息响应

表示请求已接收，正在继续处理。

- **100 Continue**：客户端应继续请求（常用于大文件上传前的预检）。
- **101 Switching Protocols**：服务器同意切换协议（如 WebSocket）。
- **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**：返回部分内容（用于断点续传/分块下载）。
- **207 Multi-Status (WebDAV)**：返回多个状态信息。
- **208 Already Reported (WebDAV)**：避免重复报告资源。
- **226 IM Used**：服务器完成请求，返回应用了某些实例操作的结果。
    

---

## 3xx：重定向

表示需要进一步操作以完成请求。

- **300 Multiple Choices**：有多个可选资源。
- **301 Moved Permanently**：资源永久重定向到新位置。
- **302 Found**：资源临时重定向（常见于登录跳转）。
- **303 See Other**：请求的响应可在另一个 URL 获取（常用于 POST → GET）。
- **304 Not Modified**：资源未修改，客户端可使用缓存。
- **305 Use Proxy**（已废弃）：要求通过代理访问。
- **307 Temporary Redirect**：临时重定向，请求方法不变。
- **308 Permanent Redirect**：永久重定向，请求方法不变。
    

---

## 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**：需要代理身份验证。
- **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**（愚人节彩蛋）：服务器拒绝煮咖啡。
- **421 Misdirected Request**：请求发往错误的服务器。
- **422 Unprocessable Entity (WebDAV)**：语义错误，无法处理。
- **423 Locked (WebDAV)**：资源被锁定。
- **424 Failed Dependency (WebDAV)**：依赖的请求失败。
- **425 Too Early**：服务器不愿意处理过早的请求。
- **426 Upgrade Required**：需要升级协议（如切换到 TLS/1.3）。
- **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 (WebDAV)**：检测到无限循环。
- **510 Not Extended**：请求未满足扩展策略。
- **511 Network Authentication Required**：需要网络认证（如 Wi-Fi 登录页）。
    

---

# 总结

- **1xx**：信息 → 请求处理中。
- **2xx**：成功 → 请求已完成。
- **3xx**：重定向 → 需要进一步操作。
- **4xx**：客户端错误 → 请求有问题。
- **5xx**：服务器错误 → 服务器处理失败。
    

---
