🔢 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
因法律原因,请求的资源不可用(比如被政府要求屏蔽)。499 Client Closed Request
Nginx 自定义的状态码,表示客户端在服务器完成响应之前关闭了连接。
⚠️ 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 相关错误,多与源站连接或配置有关。
