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 服务需要在每个请求中获取额外的信息,然后在需要处理客户端交互的情况下进行解释以获取客户端的状态。