RESTful API 中的 HTTP 状态码及其含义

在开发基于 RESTful API 的 Web 应用程序时,HTTP 状态码是交互过程中非常重要的一部分。本文将介绍 HTTP 状态码的含义,并且给出相应的示例代码。

1XX Informational(信息)

这一类响应代码表明服务器已收到请求,并且正在请求处理过程中。

100 Continue(继续)

请求者应该继续发送请求。这是一个用于提示客户端可以继续发送请求的状态码。

101 Switching Protocols(切换协议)

服务器已经理解了客户端的请求,并将通过 Upgrade 头部信息通知客户端采用不同的协议来完成请求。

2XX Success(成功)

这一类响应代码表明请求已成功处理。

200 OK

请求已成功处理,常用于 GET、PUT、POST 方法。

201 Created

已成功创建资源。

204 No Content

服务器已经成功处理了请求,但是没有返回任何内容。

3XX Redirection(重定向)

这一类响应代码表明客户端需要采取进一步的操作才能完成请求。

301 Moved Permanently(永久重定向)

请求的资源已经被永久地移动到了新的 URL。

302 Found(临时重定向)

请求的资源已经被临时地移动到了新的 URL。

304 Not Modified(未修改)

资源未修改,客户端可以使用缓存的版本。

4XX Client Error(客户端错误)

这一类响应代码表明客户端提交的请求有误。

400 Bad Request(请求错误)

请求参数有误,服务器不理解。

401 Unauthorized(未授权)

请求需要用户验证,但是用户还未登录或登录已过期。

403 Forbidden(禁止访问)

未授权访问,服务器拒绝处理请求。

404 Not Found(资源不存在)

请求的资源不存在。

409 Conflict(冲突)

客户端的请求与服务器上资源的当前状态存在冲突。

5XX Server Error(服务器错误)

这一类响应代码表明服务器在处理请求时遇到错误。

500 Internal Server Error(服务器内部错误)

服务器在执行请求时,遇到了错误,无法完成请求。

502 Bad Gateway(错误的网关)

服务器作为网关或代理时,无法从上游服务器接收到有效的响应。

503 Service Unavailable(服务不可用)

服务器正在维护或过载,无法响应请求。

总结

在开发 RESTful API 时,了解 HTTP 状态码的含义非常重要。使用正确的 HTTP 状态码可以帮助客户端正确地处理请求响应,提高应用程序的性能和可用性。

示例代码

接下来是一些基于 Node.js 的示例代码,展示如何在 Express 中返回 HTTP 状态码:

在以上示例代码中,如果查询的用户 ID 为 1,则返回名为“小明”的用户信息和 200 响应码。否则,返回“用户不存在”和 404 响应码。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6539e3347d4982a6eb382c25


纠错
反馈