常见 HTTP 方法的成功状态码200,204,202,201

HTTP 协议中,操作成功后的状态码选择取决于操作类型和响应内容,并非所有非 GET/POST 请求都返回 204。以下是常见 HTTP 方法的成功状态码规范:

1. GET

  • 200 OK:默认成功状态码,表示请求成功且返回了资源内容。
  • 206 Partial Content:当请求范围获取资源时(如断点续传)。

2. POST

  • 200 OK:操作后返回数据(如查询结果)。
  • 201 Created:创建了新资源(如创建用户、上传文件)。
  • 202 Accepted:请求已接受但尚未处理(异步操作)。
  • 204 No Content:操作成功但无需返回内容(罕见)。

3. PUT

  • 200 OK:更新资源且返回更新后的内容。
  • 204 No Content:更新资源但无需返回内容(更常见)。
  • 201 Created:如果 PUT 用于创建资源(如幂等创建)。

4. DELETE

  • 204 No Content:默认成功状态码,表示资源已删除,无需返回内容。
  • 200 OK:当需要返回删除的详细信息时(如批量删除返回成功列表)。
  • 202 Accepted:异步删除(请求已接受但尚未执行)。

5. PATCH

  • 200 OK:部分更新资源并返回更新后的内容。
  • 204 No Content:部分更新但无需返回内容。

6. HEAD

  • 200 OK:仅返回响应头,不包含内容。

选择原则

  1. 是否创建资源 :使用 201 Created(如 POST/PUT 创建新资源)。
  2. 是否需要返回内容
    • 需要返回数据 → 200 OK
    • 无需返回内容 → 204 No Content
  3. 异步处理 :使用 202 Accepted(如任务队列处理)。

常见误区

  • DELETE 必须返回 204:不一定。例如,批量删除 API 可能返回成功删除的对象列表,此时用 200 更合适。
  • PUT/PATCH 只能返回 204:若操作后需要返回更新后的资源(如更新用户信息后返回完整用户对象),应使用 200。

示例对照表

HTTP 方法 典型成功状态码 说明
GET 200 OK 返回资源内容
POST 201 Created 创建新资源
PUT 204 No Content 更新资源,无需返回内容
DELETE 204 No Content 删除资源,无需返回内容
PATCH 200 OK 部分更新,返回更新后的内容

总结

  • 204 No Content 适用于操作成功但无需返回内容的场景(如 DELETE、PUT/PATCH 更新后)。
  • 200 OK 适用于需要返回响应内容的场景(如 GET、POST 查询结果)。
  • 201 Created 专用于资源创建操作。

在设计 API 时,应根据上述原则选择合适的状态码,以提高接口的一致性和可理解性

相关推荐
夜月yeyue5 小时前
AUTOSAR CP 从上电到 Runnable
c语言·网络·tcp/ip·车载系统
treesforest5 小时前
IP定位技术在网络犯罪侦查中的应用与价值
网络·网络协议·tcp/ip·网络安全·ip归属地查询·反欺诈
外滩运维专家5 小时前
HTTPS 证书报错排查手册:6 个高频错误码及解决方法
网络协议·http·https
微学AI6 小时前
一根针指向所有方向:挂谷猜想对 LLM Agent 技能-记忆架构的启示
开发语言·人工智能·架构·挂谷猜想
豆瓣鸡6 小时前
算法日记 - Day3
java·开发语言·算法
起司喵喵6 小时前
通过Certbot自动申请更新HTTPS网站的SSL证书
网络协议·https·ssl
韭菜炒鸡肝天7 小时前
VTK开发笔记(一):VTK介绍,Qt..+VSx+VTK.编译
开发语言·笔记·qt
Aaron - Wistron7 小时前
Web API C# (Furion版)带 单元测试
开发语言·后端·c#
Dxy12393102168 小时前
Python项目打包成EXE完整教程(PyInstaller实战避坑)
开发语言·python
鲜花飘飘扬9 小时前
HTTP请求头中表示代理IP地址的属性及获取情况
网络协议·tcp/ip·http