详解 RESTful API 中的 HTTP 状态码

阅读时长 4 分钟读完

在前端开发中,RESTful API 是一种常见的数据传输协议,它使用 HTTP 请求来获取或更新数据。在 RESTful API 中,HTTP 状态码是非常重要的一部分,它们用于表示请求的成功或失败状态。本文将详细介绍 RESTful API 中常见的 HTTP 状态码及其含义,并提供示例代码。

1xx 信息性状态码

100 Continue

表示服务器已经接收到请求的头部,并且客户端应该继续发送请求的主体部分。这个状态码主要用于客户端发送大量数据时的流式传输。

101 Switching Protocols

表示服务器已经理解了客户端的请求,并且正在切换协议。这个状态码主要用于 WebSocket 协议的切换。

2xx 成功状态码

200 OK

表示请求已经成功,服务器返回了请求的数据。

201 Created

表示请求已经成功,并且服务器创建了新的资源。

204 No Content

表示请求已经成功,但是服务器没有返回任何数据。

206 Partial Content

表示请求已经成功,但是服务器只返回了部分数据。这个状态码主要用于分段下载数据。

3xx 重定向状态码

301 Moved Permanently

表示请求的资源已经永久移动到了一个新的 URI。

302 Found

表示请求的资源已经暂时移动到了一个新的 URI。

304 Not Modified

表示客户端的缓存仍然有效,可以直接使用缓存数据。

4xx 客户端错误状态码

400 Bad Request

表示请求无效,服务器无法理解请求的格式。

401 Unauthorized

表示请求需要身份验证,但是客户端没有提供有效的凭证。

403 Forbidden

表示请求被服务器拒绝,客户端没有访问资源的权限。

404 Not Found

表示请求的资源不存在。

405 Method Not Allowed

表示请求的 HTTP 方法不被允许。

409 Conflict

表示请求与服务器上的资源冲突。

429 Too Many Requests

表示客户端发送的请求过多,服务器无法处理。

5xx 服务器错误状态码

500 Internal Server Error

表示服务器出现了错误,无法完成请求。

502 Bad Gateway

表示服务器作为网关或代理,从上游服务器接收到了无效的响应。

503 Service Unavailable

表示服务器暂时无法处理请求,通常是由于服务器过载或维护。

504 Gateway Timeout

表示服务器作为网关或代理,从上游服务器没有及时收到响应。

总结

HTTP 状态码是 RESTful API 中非常重要的一部分,它们用于表示请求的成功或失败状态。了解 HTTP 状态码的含义,可以帮助我们更好地理解 API 的返回值,并且能够更好地处理错误情况。在实际开发中,我们需要根据具体的业务需求,选择合适的状态码返回给客户端。

示例代码:

-- -------------------- ---- -------
-------------------------------------
  -------------- -- -
    -- ---------------- --- ---- -
      ------ --------------- -- ------
    - ---- -- ---------------- --- ---- -
      ----- --- ------------- -- ----
    - ---- -
      ----- --- ------------- -- ----
    -
  --
  ---------- -- -
    ----------------- -- ----
  --
  ------------ -- -
    ---------------------------- -- ----
  --
展开代码

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/663e0514d3423812e4c2d961

纠错
反馈

纠错反馈