🔢 HTTP 状态码(HTTP Status Codes)
📡 1xx 信息响应(Informational Responses)
表示请求已被接收,需要继续处理。
- 100 Continue
客户端应继续发送请求的剩余部分(通常是请求体)。服务器已收到请求头,等待客户端发送请求体。 - 101 Switching Protocols
服务器已同意根据客户端的请求切换协议(例如从 HTTP 切换到 WebSocket)。 - 102 Processing (WebDAV)
服务器已收到并正在处理请求,但尚未完成,因此暂时没有响应可返回。 - 103 Early Hints
服务器在发送最终 HTTP 消息之前,提前返回一些响应头,供客户端提前准备(比如预加载资源)。
✅ 2xx 成功(Success)
表示请求已成功被服务器接收、理解并处理。
- 200 OK
请求成功。这是最常见的成功状态码,表示请求已正常处理。 - 201 Created
请求成功,并因此创建了一个新的资源(比如提交表单后新建了一条数据)。 - 202 Accepted
请求已被接受处理,但尚未处理完成(常用于异步任务)。 - 203 Non-Authoritative Information
请求成功,但返回的信息可能被中间代理修改过(不是原始服务器的内容)。 - 204 No Content
请求成功,但响应中没有返回任何内容(比如成功执行了删除操作)。 - 205 Reset Content
请求成功,客户端应重置文档视图(比如清空表单)。 - 206 Partial Content
服务器成功处理了部分请求(通常是范围请求,比如视频或文件的部分下载)。 - 207 Multi-Status (WebDAV)
响应中包含多个独立的响应状态码,通常以 XML 格式返回多个操作结果。 - 208 Already Reported (WebDAV)
DAV 绑定的成员已在之前部分的响应中列出,避免重复报告。 - 226 IM Used
服务器完成了请求,并返回的是某个资源执行结果的表现形式(通常与 Delta Encoding 相关)。
🔄 3xx 重定向(Redirection)
表示需要客户端采取进一步的操作才能完成请求。
- 300 Multiple Choices
被请求的资源有多个选项,用户或客户端可进行选择。 - 301 Moved Permanently
请求的资源已永久移动到新 URI,未来请求应使用新地址。 - 302 Found
请求的资源临时从不同的 URI 响应,但客户端应继续使用原有 URI 进行后续请求。(注意:实际使用中常被误用为永久跳转) - 303 See Other
请求的响应可以在另一个 URI 上通过 GET 方法获取。 - 304 Not Modified
资源未修改,客户端可以使用本地缓存(基于 If-Modified-Since 等头部)。 - 305 Use Proxy
请求的资源必须通过代理访问,代理地址在响应中提供。(较少使用) - 306 Switch Proxy (已废弃)
原本意思是后续请求应使用指定的代理,现已不再使用。 - 307 Temporary Redirect
请求的资源暂时位于另一个 URI,客户端应使用原请求方法向新 URI 重新发起请求。 - 308 Permanent Redirect
请求的资源已永久移动到新 URI,客户端应使用新 URI 进行后续所有请求。
❌ 4xx 客户端错误(Client Errors)
表示客户端可能发生了错误,导致请求无法被服务器处理。
- 400 Bad Request
服务器无法理解或处理该请求,通常是因为语法错误。 - 401 Unauthorized
请求需要用户认证,未提供或认证失败(类似登录失败)。 - 402 Payment Required (保留)
为未来使用保留,原本设想用于数字支付或微支付场景。 - 403 Forbidden
服务器理解请求,但拒绝执行(比如用户无权限访问某资源)。 - 404 Not Found
请求的资源不存在,或当前不可用。 - 405 Method Not Allowed
请求使用了服务器不支持的 HTTP 方法(比如对只读资源使用 DELETE)。 - 406 Not Acceptable
服务器无法生成符合客户端 Accept 头部要求的内容。 - 407 Proxy Authentication Required
请求需要先通过代理服务器的身份验证。 - 408 Request Timeout
服务器等待请求超时,客户端未在合理时间内发送完整请求。 - 409 Conflict
请求与当前资源状态冲突(比如编辑冲突、重复创建等)。 - 410 Gone
请求的资源已永久删除,且未来也不会再存在。 - 411 Length Required
服务器要求请求必须指定 Content-Length,但客户端未提供。 - 412 Precondition Failed
请求中的前提条件(如 If-Match)未满足。 - 413 Payload Too Large
请求实体过大,服务器拒绝处理。 - 414 URI Too Long
请求的 URI 过长,服务器无法处理。 - 415 Unsupported Media Type
请求的媒体类型不被服务器支持。 - 416 Range Not Satisfiable
请求的范围无效或无法满足(比如请求文件的一部分,但该部分不存在)。 - 417 Expectation Failed
服务器无法满足请求中的 Expect 头部要求(比如 Expect: 100-continue)。 - 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
客户端应切换到更高版本的协议(如 TLS/1.0)。 - 428 Precondition Required
服务器要求请求必须是条件性的(比如带 If-Match 等)。 - 429 Too Many Requests
用户在给定时间内发送了过多请求(即被限流)。 - 431 Request Header Fields Too Large
请求头字段过大,服务器拒绝处理。 - 451 Unavailable For Legal Reasons
因法律原因,请求的资源不可用(比如被政府要求屏蔽)。
⚠️ 5xx 服务器错误(Server Errors)
表示服务器在处理请求时遇到了错误,无法完成请求。
- 500 Internal Server Error
服务器遇到意外情况,无法完成请求。 - 501 Not Implemented
服务器不支持请求的功能(比如不支持的 HTTP 方法)。 - 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
客户端需要进行网络级别的身份验证才能获取访问权限。
☁️ Cloudflare CDN 特有状态码(非标准 HTTP 状态码)
这些状态码由 Cloudflare CDN 返回,用于表示在 CDN 层发生的问题:
- 520 Unknown Error
未知错误,通常是源站返回了意外的响应(如空响应、无效头部等)。 - 521 Web Server Is Down
源站服务器未响应 Cloudflare 的请求(源站宕机或拒绝连接)。 - 522 Connection Timed Out
Cloudflare 与源站建立连接超时(源站未在指定时间内响应)。 - 523 Origin Is Unreachable
Cloudflare 无法连接到源站(可能是 DNS 或网络问题)。 - 524 A Timeout Occurred
Cloudflare 成功连接源站,但源站处理请求超时(未在合理时间内返回响应)。 - 525 SSL Handshake Failed
Cloudflare 与源站之间 SSL/TLS 握手失败。 - 526 Invalid SSL Certificate
源站的 SSL 证书无效、过期或不匹配。 - 527 Railgun Listener Timeout (仅限 Railgun 用户)
Cloudflare 与 Railgun 服务器之间的连接超时。 - 530 (部分场景下使用,如 Cloudflare Workers 错误等,视具体配置而定)
✅ 总结:
- 1xx:信息性,请求继续;
- 2xx:成功,请求已处理;
- 3xx:重定向,需进一步操作;
- 4xx:客户端错误,通常是请求有问题;
- 5xx:服务器错误,通常是服务端故障;
- 520~530:Cloudflare CDN 相关错误,多与源站连接或配置有关。