RESTful Web服務無狀態

按照REST架構,一個RESTful Web服務不應該繼續伺服器的客戶端的狀態。這種限制被稱為無狀態。它負責客戶以它的上下文傳遞給伺服器,然後伺服器可以存儲這樣的上下文,以處理客戶端的進一步請求。例如,通過會話伺服器維護標識由客戶端傳遞會話識別字。

RESTful Web服務應遵守此限制。我們已經看到了REST Web服務 - 方法教學,該Web服務方法不存儲它們從調用的客戶端的任何資訊。

考慮以下網址:

http://localhost:8080/UserManagement/rest/UserService/users/1

如果您使用的流覽器,使用基於Java的客戶端或使用postman,那麼輸入上面的網址,結果永遠是用戶XML ID為1,因為伺服器沒有存儲有關客戶的任何資訊。

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

無狀態的優點

以下是無狀態的RESTful web服務的好處

  • Web服務可以獨立對待每一個方法的請求。

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

  • 由於HTTP本身是一個無狀態協議,RESTful Web服務無縫地與HTTP協議的工作。

無狀態的缺點

以下是無狀態的RESTful web服務的缺點

  • Web服務需要得到每個請求的額外資訊,然後解釋得到的情況下客戶端交互客戶端的狀態都被照應。


上一篇: RESTful Web Services方法 下一篇: RESTful Web Services緩存