Rest 無狀態的解釋

每次都忘怎麼解釋,寫一下。

Wiki Rest擷取

  • 無狀態(Stateless)
    • 伺服器不能儲存客戶端的資訊,每一次從客戶端傳送的請求中, 要包含所有的必須的狀態資訊, 對談資訊由客戶端儲存, 伺服器端根據這些狀態資訊來處理請求. 伺服器可以將對談狀態資訊傳遞給其他服務, 比如資料庫服務, 這樣可以保持一段時間的狀態資訊, 從而實現認證功能. 當客戶端可以切換到一個新狀態的時候傳送請求資訊. 當一個或者多個請求被傳送之後, 客戶端就處於一個狀態變遷過程中. 每一個應用的狀態描述可以被客戶端用來初始化下一次的狀態變遷.

每次回過頭直接看這段Wiki翻的和原文我真心看不懂!!直到看了這個無狀態Server的解釋。

無狀態Server

  • 無狀態伺服器是指一種把每個請求作為與之前任何請求都無關的獨立的事務的伺服器。

總結

  • 無狀態 (Stateless) 是指從 Client 到 Server 的所有請求,皆需包含『 用於理解該次請求 』的 所有 相關信息,不得利用任何儲存在 Server 的上下文。
  • Server不得假定同一連接 上的兩個請求來自同一個 User Agent。
  • REST 中的『 狀態 』,是指 資源 與 表示 的狀態,而非無狀態 (Stateless) 架構約束中的 會話(Session)狀態。

More info: Representational State Transfer (Rest)
More info: Stateless protocol (無狀態協議)