相关疑难解决方法(0)

无状态Web应用程序有哪些好处?

似乎一些Web架构师的目标是拥有一个无状态的Web应用程序.这是否意味着基本上不存储用户会话?或者还有更多吗?

如果只是存储用户会话,那么不这样做有什么好处?

session session-variables session-state stateless

29
推荐指数
2
解决办法
2万
查看次数

如何使我的Web应用程序无状态但仍然做一些有用的事情?

我见过这个建议......

理想情况下,Web应遵循REST原则并完全无状态.因此,单个URL应标识单个资源,而不必保留每个用户的导航历史记录.

...我读了维基百科页面http://en.wikipedia.org/wiki/REST,这听起来不错,但我不知道如何实际实现它.我在ASP .NET Webforms NOT MVC工作.

例如,在我即将构建的应用程序中 - 我需要我的用户登录才允许他们做任何事情.在他们被允许做很多有用之前,他们必须跳过几个箍 - 比如接受T和C并确认他们的基本细节不变.最后他们被允许做他们真正想要的东西,比如BuyAProduct!

在我看来(我来自Rich客户端的HEAVILY有状态世界),我需要状态来记录他们所做的事情并从中推断他们可以做什么.我不知道如何支持他们(比如)为BuyAProduct URI添加书签.当他们到达书签时,我如何知道他们是否已登录,以及他们是否同意T和C以及他们是否尽职尽责地检查了他们的基本细节?

我喜欢应用程序无状态的想法,部分原因是它似乎完全解决了"当用户点击后退和前进按钮时,我该怎么办?" 我看不出我怎么能让它正常工作.我觉得我错过了一些非常基本的东西.

asp.net rest webforms stateless

14
推荐指数
2
解决办法
7863
查看次数

无国界网络应用程序,都市传奇?

我试图理解token-based authentication这些日子,它声称是一种stateless authentication方法.我遇到了这个概念stateless web application.

以下是我读过的一些主题:

起初,我对这个想法感到非常兴奋.但越来越多的我觉得statelesspseudo-proposition.

例如,假设我们使用客户端存储的令牌进行身份验证,我们如何对在线用户进行统计(假设没有日志)?我们应该将令牌存储在DB中吗?这不是说我们在服务器上存储状态信息吗?更重要的是,DB中的名称,年龄等普通用户信息也是某种状态信息吗?

我认为这里真正的问题不是让网络应用程序无状态,而是让网络应用程序正确处理状态信息,这样它就不会危及可伸缩性.

这取决于如何解释这个词stateless:

  1. Web应用程序没有状态.
  2. 或者Web应用程序不会存储状态本身.

我更喜欢2,因为总会有一些inevitable global state(引自@ deceze对他的答案的评论).无论我们将状态信息存储为HTML 5 Web存储,HTTP标头,隐藏表单字段还是Cookie,状态仍然存在.只是它存储在服务器以外的其他地方.

我错过了什么好事吗?任何人都可以对此有所了解,这样我可以从这种心理斗争中解脱出来吗?

添加1

刚刚看了一下这本书的RESTful Web服务通过Leonard Richardson.在第4章的本节末尾Statelessness,它将状态分为Application StateResource State.因此,我之前提到的普通用户信息和数据,如图像等,可以归类为Resource State.什么stateless指的是Application State.因此它不会破坏无状态代码存储resource state在服务器上.

但该书还提到了这样一种情况:an application key is used to restrict …

session http token stateless web

9
推荐指数
2
解决办法
5090
查看次数