【发布时间】:2013-11-17 14:18:24
【问题描述】:
我一直在阅读有关 Restful Web 服务是无状态的。 我还可以看到,大多数基于 Soap 的 Web 服务也是无状态的,如果需要,可以将其设为有状态,而使它们有状态将取决于实现。 因此,如果基于soap 的网络服务是有状态的,那么每个请求都会传递一个会话ID,以继续会话。
我的问题是为什么不能用 Restful webservices 完成,我想我应该能够实现一个 webservice,它可以继续同一个 session,其中 session id 由 Restful webservice 传递,使有状态。
所以我的问题是,RestFul Web 服务是否只是一个带有不使它们有状态的指南的概念?还是会检查 Restful Web 服务库 [如 Jersey ] 以阻止人们这样做?
【问题讨论】:
-
您当然可以使 REST 服务有状态。但这违背了 REST 哲学。您将无法扩展(特别是由于服务器关联性)。
-
据我所知,在任何 REST 库中都没有此类检查,但正如 @DavidBrabant 还说您的服务将不再是 RESTful 的。为什么要让它们有状态?
-
@Leonard:我只是想抓住这个概念。到处都强调 Restful 是无状态的。如果我提出了一个有状态的 Rest webservice 的 Get 请求,那么它不会是 Restful 吗?肯定不是肥皂,那会是什么?
-
@Lokesh 您将拥有一个使用 REST 库的有状态应用程序的 Web 服务。
标签: web-services rest soap