RESTful Web 服務 - 無狀態



根據 REST 架構,RESTful Web 服務不應在伺服器上保留客戶端狀態。此限制稱為“無狀態”。客戶端應負責將上下文傳遞給伺服器,然後伺服器可以儲存此上下文以處理客戶端的進一步請求。例如,伺服器維護的會話由客戶端傳遞的會話識別符號識別。

RESTful Web 服務應遵守此限制。我們在 RESTful Web 服務 - 方法 章節中已看到,Web 服務方法不會儲存任何從其呼叫的客戶端的資訊。

考慮以下 URL -

https://:8080/UserManagement/rest/UserService/users/1

如果您使用瀏覽器、基於 Java 的客戶端或使用 Postman 訪問上述 URL,結果將始終是 ID 為 1 的 User XML,因為伺服器不會儲存任何有關客戶端的資訊。

<user> 
   <id>1</id> 
   <name>mahesh</name> 
   <profession>1</profession> 
</user>

無狀態的優勢

以下是在 RESTful Web 服務中無狀態的優點 -

  • Web 服務可以獨立處理每個方法請求。

  • Web 服務不需要維護客戶端的先前互動。簡化了應用程式設計。

  • 由於 HTTP 本身是一種無狀態協議,RESTful Web 服務可以與 HTTP 協議無縫配合。

無狀態的劣勢

以下是在 RESTful Web 服務中無狀態的劣勢 -

  • Web 服務需要在每個請求中獲取額外資訊,然後進行解釋以獲取客戶端狀態(如果要處理客戶端互動)。

廣告
© . All rights reserved.