RESTful Web 服务 - 无状态

根据 REST 架构,RESTful Web 服务不应在服务器上保留客户端状态。此限制称为无状态。客户端有责任将其上下文传递给服务器,然后服务器可以存储此上下文以处理客户端的进一步请求。例如,服务器维护的会话由客户端传递的会话标识符标识。

RESTful Web 服务应遵守此限制。我们在RESTful Web 服务 - 方法一章中看到,Web 服务方法不存储它们被调用的客户端的任何信息。

考虑以下 URL −

https://localhost:8080/UserManagement/rest/UserService/users/1

如果您使用浏览器或使用基于 Java 的客户端或使用 Postman 访问上述 URL,结果将始终是 Id 为 1 的用户 XML,因为服务器不存储有关客户端的任何信息。

<user> 
   <id>1</id> 
   <name>mahesh</name> 
   <profession>1</profession> 
</user>

无状态的优点

以下是 RESTful Web 服务中无状态的优点 −

  • Web 服务可以独立处理每个方法请求。

  • Web 服务不需要维护客户端以前的交互。它简化了应用程序设计。

  • 由于 HTTP 本身是一种无状态协议,RESTful Web 服务可以与 HTTP 协议无缝协作。

无状态的缺点

以下是 RESTful Web 服务中无状态的缺点 −

  • Web 服务需要在每个请求中获取额外信息,然后进行解释以获取客户端的状态,以防需要处理客户端交互。