我见过这个建议......
理想情况下,Web应遵循REST原则并完全无状态.因此,单个URL应标识单个资源,而不必保留每个用户的导航历史记录.
...我读了维基百科页面http://en.wikipedia.org/wiki/REST,这听起来不错,但我不知道如何实际实现它.我在ASP .NET Webforms NOT MVC工作.
例如,在我即将构建的应用程序中 - 我需要我的用户登录才允许他们做任何事情.在他们被允许做很多有用之前,他们必须跳过几个箍 - 比如接受T和C并确认他们的基本细节不变.最后他们被允许做他们真正想要的东西,比如BuyAProduct!
在我看来(我来自Rich客户端的HEAVILY有状态世界),我需要状态来记录他们所做的事情并从中推断他们可以做什么.我不知道如何支持他们(比如)为BuyAProduct URI添加书签.当他们到达书签时,我如何知道他们是否已登录,以及他们是否同意T和C以及他们是否尽职尽责地检查了他们的基本细节?
我喜欢应用程序无状态的想法,部分原因是它似乎完全解决了"当用户点击后退和前进按钮时,我该怎么办?" 我看不出我怎么能让它正常工作.我觉得我错过了一些非常基本的东西.
无状态 Web 应用程序似乎很有前途。如何制作一个?尤其是 Spring WebMvc?有什么指导方针吗?
以下是我的一些想法:
添加 1
我认为这不是是否保留状态信息的问题。如果你想做一些有用的事情,状态信息总是必要的。这实际上是一个在哪里/如何保留状态信息的问题。这篇文章很有用。它提到了进程内/进程外会话、数据缓存以及为什么不使用会话。
有关的:
使用 Spring MVC 进行无状态 Web 应用程序开发 (尚未响应)
http://brockallen.com/2012/04/07/think-twice-about-using-session-state/