HTTP 状态码解析 - 2xx 成功响应 (HTTP Status Codes - 2xx Successful)

✅ 第二章:HTTP 状态码 - 2xx 成功响应

“操作成功!✅ 2xx 状态码是服务器的肯定答复,表示请求已成功处理。”

欢迎来到 HTTP 状态码系列的第二章。在本章中,我们将聚焦于 2xx(成功响应)状态码。这些状态码表明客户端的请求已被服务器成功接收、理解和接受。

🎉 2xx 状态码概览

2xx 范围内的状态码是开发者最乐于见到的,因为它们通常表示一切按预期工作。

常见的 2xx 状态码

  • 200 OK: 请求已成功。响应的含义取决于 HTTP 方法:
    • GET: 资源已获取并在消息正文中传输。
    • HEAD: 实体头已在消息正文中传输。
    • POSTPUT: 描述操作结果的资源已在消息正文中传输。
    • TRACE: 消息正文包含服务器收到的请求消息。
  • 201 Created: 请求已成功,并因此创建了一个新的资源。这通常是在 POST 或某些 PUT 请求之后发送的响应。
    • 场景:用户注册成功,创建了一个新的用户账户。
  • 202 Accepted: 请求已接收到,但尚未处理完成。该请求最终可能会或可能不会被执行,并且在处理发生时可能会被禁止。
    • 场景:提交了一个需要较长时间处理的批处理作业。
  • 204 No Content: 服务器已成功处理请求,但没有返回任何内容。通常用于 DELETE 请求或在不更改当前页面的情况下执行操作。
    • 场景:成功删除一个资源,或者一个保存操作不需要返回数据。
  • 206 Partial Content: 服务器成功处理了部分 GET 请求。这通常用于 HTTP 分块下载或断点续传。
    • 场景:客户端请求大文件的特定范围。

🤔 何时关注 2xx 状态码?

虽然 2xx 表示成功,但不同的 2xx 状态码提供了关于成功的更具体信息,这对于构建精细的客户端行为非常重要。

  • API 设计:为不同的成功操作选择最合适的 2xx 状态码(例如,创建资源时返回 201 而不是 200)。
  • 客户端逻辑:根据具体的 2xx 状态码执行不同的操作(例如,204 No Content 后不需要刷新数据)。
  • 异步处理202 Accepted 表明操作已排队,客户端可能需要轮询状态或等待回调。

🛠️ 实践中的 2xx

在开发 RESTful API 时,正确使用 2xx 状态码至关重要。

例如,创建一个新用户后,API 应该返回:

HTTP/1.1 201 Created
Location: /users/123
Content-Type: application/json

{
  "id": 123,
  "username": "newuser"
}