在构建和使用 RESTful API 时,状态码是非常重要的一部分。它们可以向客户端通知请求的结果,以及指示客户端下一步应该采取哪些行动。
本文将为您提供有关 RESTful API 中常见的状态码的详细说明,以及它们的含义、作用和示例代码。
1xx:信息状态码
1xx 客户端请求已被服务端接收,但是还需要进一步操作才能完成请求。
100 Continue
客户端应该继续发送请求,服务端需要进一步处理才能完成请求。
101 Switching Protocols
服务端已经理解并接受请求,客户端应该切换协议以完成请求。
2xx:成功状态码
2xx 表示服务端已经成功接收、处理和返回请求。
200 OK
请求已成功,服务端已经返回相应的资源。
201 Created
资源已经成功被创建,服务端返回了新资源的 URI。
204 No Content
请求已经成功完成,但是服务端没有返回任何内容。
3xx:重定向状态码
3xx 表示客户端必须执行额外的操作才能完成请求。
301 Moved Permanently
请求的资源已经永久移动到了新位置,客户端应该更新自己的 URI。
302 Found
请求的资源已经暂时移动到了新位置,客户端应该继续使用原来的 URI。
303 See Other
服务端已经完成请求,但是新的资源在不同的 URI 上可用,客户端应该使用新的 URI 发出 GET 请求。
304 Not Modified
客户端已经发送了一个带有条件的 GET 请求,并且请求的资源没有被修改。服务端返回了一个空的响应。
4xx:客户端错误状态码
4xx 表示客户端包含错误或无法被正确处理。
400 Bad Request
客户端发送了一个无效的请求,服务端无法理解。
401 Unauthorized
客户端无法验证自己的身份,服务端需要认证。
403 Forbidden
客户端请求被拒绝,客户端没有访问所请求资源的权限。
404 Not Found
请求的资源不存在。
409 Conflict
请求与当前资源状态冲突(例如,在对同一个资源进行并发更新时)。
5xx:服务端错误状态码
5xx 表示服务端无法完成有效的请求。
500 Internal Server Error
服务端出现了一个未知的错误。
503 Service Unavailable
服务端当前无法处理请求,因为每个请求都需要消耗太多资源。
结论
状态码是 RESTful API 设计中不可缺少的一部分,它为客户端提供了关于请求结果的详细信息,并指导客户端采取下一步的行动。使用正确的状态码不仅能够有效优化 API 的使用效率,还能提升用户体验和降低服务端的负担。
在实际开发中,我们应该密切关注状态码的使用,根据不同的情况选择不同的状态码,并在返回状态码时提供详细的响应信息,从而为用户提供更好的体验和服务。
示例代码
--------------------- ------------- ---- - -- -------------- --- ---- - ------------------------- -------- - ---- - --- ---- - - --- -- ----- ------ -- --------------------------- - ---
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67145e80ad1e889fe2137d34