RESTful Web 服务 - 无状态

23 篇文章 0 订阅

根据 REST 架构,一个 RESTful Web 服务不应该在服务器上保持客户端状态。这种约束被称为无状态。客户端的职责是传递其上下文给服务器,然后服务器存储这个上下文以处理客户端的请求。比如,由服务器维护的会话是通过客户端传递的会话标示符识别的。

RESTful Web 服务应该遵守这一约束。我们已经在 RESTful Web 服务 - 方法 教程中见过,Web 服务方法不会存储调用它们的客户端的任意信息。

考虑如下 URI:

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

如果我们使用浏览器,使用基于 Java 的客户端或者使用 postman 访问上面的 url,结果始终是 User XML 并且它的 ID 为 1,因此服务器并没有存储客户端相关的任意信息。

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

无状态的优势

下面是 RESTful Web 服务中无状态的好处:

  • Web 服务可以独立对待每个请求方法。
  • Web 服务不需要维护客户端先前的交互。简化了应用程序设计。
  • HTTP 本身是一个无状态协议,RESTful Web 服务可与 HTTP 协议无缝协作。

无状态的缺点

下面是 RESTful Web 服务中无状态的缺点:

  • Web 服务需要在每个请求中获取额外的信息,然后在客户端交互需要处理的情况下解读客户端状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值