HTTP 状态码解析 - 2xx 成功响应 (HTTP Status Codes - 2xx Successful)
✅ 第二章:HTTP 状态码 - 2xx 成功响应
“操作成功!✅ 2xx 状态码是服务器的肯定答复,表示请求已成功处理。”
欢迎来到 HTTP 状态码系列的第二章。在本章中,我们将聚焦于 2xx(成功响应)状态码。这些状态码表明客户端的请求已被服务器成功接收、理解和接受。
🎉 2xx 状态码概览
2xx 范围内的状态码是开发者最乐于见到的,因为它们通常表示一切按预期工作。
常见的 2xx 状态码
- 200 OK: 请求已成功。响应的含义取决于 HTTP 方法:
GET
: 资源已获取并在消息正文中传输。HEAD
: 实体头已在消息正文中传输。POST
或PUT
: 描述操作结果的资源已在消息正文中传输。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"
}