HTTP Status Codes Cheatsheet - HTTP Response Status Code Reference
HTTP 状态码是 Web 开发与排障的基础,从 200 到 5xx 全系列整理,每个码标注含义和常见原因,接口调试和 Nginx 排障时直接查。
Back to Reference1xx 信息 Informational 2
100 Continue客户端应继续发送请求体,常用于大上传前的预检
101 Switching Protocols协议切换,WebSocket 升级握手时返回
2xx 成功 Success 5
200 OK请求成功,GET 返回资源,PUT/PATCH 返回更新结果
201 Created资源创建成功,POST 请求后返回,Location 头指向新资源
202 Accepted请求已接收但未处理完,异步任务/队列处理时返回
204 No Content成功但无响应体,DELETE 请求常用
206 Partial Content范围请求成功,断点续传 / 视频拖拽时返回
3xx 重定向 Redirection 6
301 Moved Permanently永久重定向,SEO 权重转移,HTTP→HTTPS 跳转用
302 Found临时重定向,不转移权重
303 See Other重定向用 GET 获取,PRG 模式(表单提交后跳转)
304 Not Modified资源未修改,用缓存,条件请求(If-None-Match)命中
307 Temporary Redirect临时重定向,保持请求方法不变(302 可能改 POST 为 GET)
308 Permanent Redirect永久重定向,保持请求方法不变
4xx 客户端错误 Client Error 17
400 Bad Request请求语法错误,如 JSON 格式不合法、缺少必填参数
401 Unauthorized未认证,缺少或无效的 Token/Cookie,需登录
403 Forbidden已认证但无权限,如普通用户访问管理接口
404 Not Found资源不存在,URL 路径错误或资源已删除
405 Method Not Allowed请求方法不允许,如对只支持 GET 的接口发 POST
406 Not Acceptable请求的 Accept 头无法满足,内容协商无可用格式
408 Request Timeout请求超时,客户端未在规定时间内发送完请求
409 Conflict资源冲突,如重复创建、并发修改
410 Gone资源已永久删除,SEO 中告知爬虫不再索引(比 404 更明确)
413 Payload Too Large请求体过大,Nginx client_max_body_size 限制
415 Unsupported Media Type不支持的 Content-Type,如接口要 JSON 却发 form
418 I'm a teapot愚人节彩蛋(RFC 2324),茶壶不能煮咖啡
422 Unprocessable Entity语义错误,如字段格式对但值非法,Rails API 校验失败常用
426 Upgrade Required要求客户端升级协议,如强制 TLS 或 HTTP/2
429 Too Many Requests请求频率超限,限流触发(如 Nginx limit_req)
431 Request Header Fields Too Large请求头过大,如 Cookie 过多,需清理或调大头限制
451 Unavailable For Legal Reasons因法律原因不可用,如内容审查、DMCA 下架
5xx 服务端错误 Server Error 8
500 Internal Server Error服务端内部错误,代码异常、空指针等
501 Not Implemented服务器不支持该请求方法
502 Bad Gateway网关收到上游无效响应,Nginx 连不上后端或后端崩溃
503 Service Unavailable服务不可用,过载、维护中或限流,Retry-After 头提示重试时间
504 Gateway Timeout网关等待上游超时,Nginx proxy_read_timeout 超限
505 HTTP Version Not Supported不支持 HTTP 协议版本
507 Insufficient Storage存储空间不足,WebDAV 写入失败时返回
511 Network Authentication Required需网络认证,公共 WiFi 登录页场景
💡 Tips
- 502 vs 504:502 是后端返回了无效响应(崩溃/拒绝连接),504 是后端连接成功但响应超时。
- 401 vs 403:401 是"你是谁"(未认证),403 是"你不能做"(已认证但无权限)。
- Nginx 413 解决:调大 client_max_body_size;429 解决:检查 limit_req 限流配置。