Restful 网络服务中的状态

State in Restful web service

我是新来的:我正在创建一个类似 webservice 的购物车,用户需要在其中对每个用户进行身份验证和添加项目。如何使用 Rest 实现这一点。 他们说 "REST is stateless" 是什么意思 我可以在 sqlserver 数据库中创建一个会话并 return 它作为响应,以便客户端可以使用它进行进一步的调用吗?它是否考虑可扩展性?

我看过有关有状态休息服务的帖子,他们回答说可伸缩性将是一个问题。还有一些帖子建议将信息存储在数据库中 Managing state in RESTful based application 但是将值存储在数据库中也是某种有状态的,因为客户端需要按顺序执行并传递一些令牌以供进一步调用。 那么我可以断定 rest 不适用于类似购物车的应用程序吗?

REST 无状态约束表示客户端-服务器通信必须是无状态的,这意味着每个请求都必须包含实现它所需的所有信息。简而言之,这意味着您不能进行服务器端会话,但可以进行客户端会话。

请记住,REST 是一种架构风格,您应该遵循约束以利用相关优势。如果好处对你来说不重要,那么最好忽略它们,而不是仅仅为了追随风格而使用没有任何好处的东西。无状态约束旨在提高可见性、可靠性和可扩展性。可见性,因为可以立即理解整个请求;可靠性,因为它更容易从服务器端故障中恢复;和可伸缩性,因为任何服务器实例都可以响应任何请求。如果这些对您来说不重要,请随时保持服务器端会话,如果这对您来说更容易的话。