Skip to content

状态码与媒体类型速查

一页速查表:状态码(RFC 9110 §15 + 关联 RFC)与 API 常用媒体类型(IANA 注册表)。详细说明见HTTP 状态码详解表示与媒体类型

1. 状态码总表

1xx 信息

名称一句话
100ContinueExpect 试探通过,继续发 body
101Switching Protocols协议升级(WebSocket)
103Early Hints提前推送资源提示

2xx 成功

名称典型场景义务/建议
200OKGET/PUT/PATCH/POST 成功带表示
201CreatedPOST 创建 / PUT upsert 创建SHOULD Location
202Accepted异步受理给作业资源链接 + Retry-After
204No ContentDELETE/PUT 成功无返回必须无 body
206Partial ContentRange 请求Content-Range

3xx 重定向

名称方法变化场景
301Moved Permanently可能→GET永久迁移(老客户端兼容)
302Found可能→GET临时跳转
303See Other强制→GETPRG 模式
304Not Modified条件 GET 命中,无 body
307Temporary Redirect不变临时 + 保方法
308Permanent Redirect不变API 路由迁移首选

4xx 客户端错误

名称场景搭档头部/规范
400Bad Request语法/参数错误
401Unauthorized未认证MUST WWW-Authenticate(7235/6750)
403Forbidden无权限problem+json 说明缺什么
404Not Found资源不存在
405Method Not Allowed方法不支持MUST Allow
406Not AcceptableAccept 无法满足
408Request Timeout客户端超时未发完建议 Retry-After
409Conflict状态/唯一/版本冲突
410Gone永久消失代替含糊的 404
411Length RequiredContent-Length
412Precondition FailedIf-Match 不满足(乐观锁)
413Content Too Largebody 超限Retry-After
414URI Too Long请求行超限改 POST 提交
415Unsupported Media TypeContent-Type
416Range Not SatisfiableRange 越界Content-Range: */size
417Expectation FailedExpect 无法满足
418I'm a teapot彩蛋(RFC 2324)
421Misdirected Request连接打错服务
422Unprocessable Content语义校验失败(4918→9110)errors[] 批量字段错误
425Too Early疑似 0-RTT 重放
428Precondition Required要求条件头而未带(6585)强制乐观锁接口
429Too Many Requests限流(6585)MUST Retry-After
431Request Header Fields Too Large头部过大(6585)
451Unavailable For Legal Reasons法律屏蔽(7725)Link: rel="blocked-by"

5xx 服务器错误

名称场景
500Internal Server Error未分类异常(带 traceId,无堆栈)
501Not Implemented方法整个未实现
502Bad Gateway上游响应无效
503Service Unavailable过载/维护;SHOULD Retry-After
504Gateway Timeout上游超时
505HTTP Version Not Supported协议版本不支持

2. 高频辨析卡

400 vs 422   语法错/解析错 → 400;结构对值非法 → 422
401 vs 403   "你是谁" → 401;"你不行" → 403
404 vs 405   URI 不存在 → 404;URI 存在方法错 → 405(带 Allow)
404 vs 410   从未存在/未知 → 404;曾存在已永久删 → 410
409 vs 412   业务规则冲突 → 409;条件头失败 → 412
412 vs 428   带了但过期 → 412;压根没带(强制时)→ 428
429 vs 503   你超速 → 429;我过载 → 503
301 vs 308   都要保方法时 → 308

3. 媒体类型速查

类型用途RFC
application/json默认表示8259
application/problem+json错误表示9457
application/merge-patch+jsonPATCH 合并补丁7386
application/json-patch+jsonPATCH 指令补丁(test 操作可内置乐观锁)6902
multipart/form-data文件上传7578
application/x-www-form-urlencoded表单9110
text/event-streamSSE 推送HTML 标准
application/hal+json / application/vnd.api+json超媒体 / JSON:API社区
application/octet-stream二进制兜底9110
application/vnd.{org}.{res}+json私有供应商类型6838/6839

4. 义务性头部对照

状态码头部级别
401WWW-AuthenticateMUST
405AllowMUST
429Retry-AfterMUST(RFC 6585)
503Retry-AfterSHOULD
201LocationSHOULD
416Content-RangeMUST(*/总大小)
3xxLocationSHOULD