RESTful Web 服务 - 无状态
根据 REST 架构,RESTful Web 服务不应在服务器上保留客户端状态。此限制称为“无状态”。客户端应负责将上下文传递给服务器,然后服务器可以存储此上下文以处理客户端的进一步请求。例如,服务器维护的会话由客户端传递的会话标识符识别。
RESTful Web 服务应遵守此限制。我们在 RESTful Web 服务 - 方法 章节中已看到,Web 服务方法不会存储任何从其调用的客户端的信息。
考虑以下 URL -
https://127.0.0.1:8080/UserManagement/rest/UserService/users/1
如果您使用浏览器、基于 Java 的客户端或使用 Postman 访问上述 URL,结果将始终是 ID 为 1 的 User XML,因为服务器不会存储任何有关客户端的信息。
<user> <id>1</id> <name>mahesh</name> <profession>1</profession> </user>
无状态的优势
以下是在 RESTful Web 服务中无状态的优点 -
Web 服务可以独立处理每个方法请求。
Web 服务不需要维护客户端的先前交互。简化了应用程序设计。
由于 HTTP 本身是一种无状态协议,RESTful Web 服务可以与 HTTP 协议无缝配合。
无状态的劣势
以下是在 RESTful Web 服务中无状态的劣势 -
Web 服务需要在每个请求中获取额外信息,然后进行解释以获取客户端状态(如果要处理客户端交互)。
广告