2012-07-27 43 views
1

我聽說一個Web應用程序應儘可能無狀態。但在我看來,很難經常意識到這一點。舉例來說,如果我有什麼:Web應用程序最多應該有狀態嗎?

  1. 的過程的請求
  2. 將用戶重定向到
  3. 起始頁要顯示的請求的結果?

如果結果是更復雜一點,那麼就可能作爲一個參數(或我不希望包括通過URL信息)傳遞一個字符串,然後我不能結合2和3

我能想到的唯一解決方案是將信息保存爲Java程序中的狀態。

但是,這將違反一個stateles web應用程序的規則,不是嗎?

回答

6

我聽到了一個Web應用程序應該儘可能

什麼是無狀態的?在網絡應用中,無論是在客戶端還是在服務器上,都有無處不在。像Sproutcore/Ember這樣的框架甚至有組件稱爲狀態管理器來管理狀態。

服務器在用戶會話(通常)中維護一些狀態。

您是否聽說過HTTP是無狀態的?這是另一回事,而且是完全正確的。另外,由於線程問題,編寫不共享狀態的服務器端組件可能是一個好主意。但是,這些都不應該被視爲暗示你的應用程序沒有狀態。

+0

那麼它畢竟是一個程序,不是嗎?對於無狀態,我的意思是它從HTTP的角度來看有所不同:訪問http://www.example.com/foo/bar時獲得的內容取決於應用程序的狀態。無論如何,你會建議使用會話來實現步驟2和3嗎? – Mahoni 2012-07-27 11:13:24

+0

取決於太多因素。也許 – hvgotcodes 2012-07-27 12:17:06

相關問題