【问题标题】:How stateful should a web application be at most?Web 应用程序最多应该有多少状态?
【发布时间】:2012-07-27 01:28:15
【问题描述】:

我听说 Web 应用程序应该尽可能无状态。但在我看来,常常很难意识到这一点。例如,如果我:

  1. 处理请求
  2. 将用户重定向到起始页
  3. 想要显示请求的结果?

如果结果稍微复杂一点,那么只是一个可以作为参数传递的字符串(或者我不想通过 URL 包含该信息),那么 我不能结合 2. 和 3

我能想到的唯一解决方案是将信息作为状态保存在 Java 程序中。

但这会违反 stateles Web 应用程序的规则,不是吗?

【问题讨论】:

    标签: java web-applications servlets stateless


    【解决方案1】:

    我听说 Web 应用程序应该尽可能无状态

    什么?在网络应用程序中,无论在客户端还是在服务器上,都有状态无处不在。像 Sproutcore/Ember 这样的框架甚至有称为状态管理器的组件来管理,嗯,状态。

    服务器维护用户会话中的某些状态(通常)。

    您听说 HTTP 是无状态的吗?那是另一个故事,而且完全正确。此外,由于线程问题,编写不共享状态的服务器端组件可能是一个好主意。但是这些点都不应被视为暗示您的应用程序没有状态。

    【讨论】:

    • 这毕竟是一个程序,不是吗?对于无状态,我的意思是从 HTTP 的角度来看它有所不同:访问 example.com/foo/bar 时收到的内容取决于应用程序的状态。无论如何,您是否建议使用会话来实现第 2 步和第 3 步?
    猜你喜欢
    • 2021-12-19
    • 2015-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 2011-12-10
    • 2011-02-18
    相关资源
    最近更新 更多