ideally the web should follow the REST principle and be completely stateless. Therefore a single URL should identify a single resource,without having to keep the navigation history of each user.
…和我阅读维基百科页面http://en.wikipedia.org/wiki/REST,这真的听起来不错,但我没有得到如何实际实现它.我在ASP.NET Webforms不是MVC工作.
例如,在我即将建立的应用程序中 – 我需要我的用户登录才能让他们做任何事情.在他们允许做许多有用的事情之前,他们必须跳过几个圈,如接受T和C,并确认他们的基本细节不变.最后他们被允许做一些他们真正想要的东西BuyIBroduct!
在我看来(我来自富客户的HEAVILY状态世界),我需要状态来记录他们做了什么,并从他们被允许做的事情推断出来.我看不到我能支持他们(比如说)为BuyAProduct URI加书签.当他们到达书签时,如何知道他们是否已经登录,如果他们同意T和C,如果他们完全检查他们的基本细节?
我喜欢这个应用程序是无状态的,这部分是因为它似乎完全解决了“当用户点击后退和转发按钮时我该怎么办?”我看不到我仍然能够正常工作.我觉得我错过了一些真正根本的事情.
解决方法
(您可能会拒绝未登录用户访问的事实是一个单独的问题 – 关键是Uri本身不依赖于用户特定的数据).
例如,破坏此规则的网站类型是您导航到产品页面的那些网站,通过电子邮件将Uri发送给您的朋友,并点击它,他们会看到一条消息:“对不起,您的会话已过期“或”本产品不存在“或类似产品.发生这种情况的原因是因为Uri在站点上包含了特定于用户会话的内容,如果不同的用户尝试使用链接(或以后的同一用户),那么它将不再有效.
所以,你的应用程序总是仍然需要某种形式的状态,但是实现这个状态是重要的因素.
希望有帮助减轻一点光!