HTTP Status Codes Cheatsheet - HTTP Response Status Code Reference

HTTP 状态码是 Web 开发与排障的基础,从 200 到 5xx 全系列整理,每个码标注含义和常见原因,接口调试和 Nginx 排障时直接查。

Reference·38 commands·Last updated 2026-07-21
Back to Reference

1xx 信息 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 限流配置。