我發展應該支持客戶端會話持久性小REST服務。正如您所知,由於REST,我們無法在服務器上存儲任何客戶端數據,數據必須存儲在客戶端,並且客戶端的請求必須是自給自足的。那麼...我們如何存儲客戶端會話?通過互聯網搜索,我發現了一些如何實現這一點的方法。例如:我們向客戶端發送包含客戶端ID(nick ...等)的加密標記,如token = AES(id,secretKey);然後我們授權用戶使用祕密密鑰對服務器上的每個請求進行解密令牌。任何人都可以提出建議嗎?也許還有另一種好方法可以做同樣的功能。哪個加密算法會更適合這個?謝謝。會議在REST服務
7
A
回答
8
你提到:
如你所知,因爲REST的,我們不能存儲 服務器上的任何客戶端的數據,數據必須存儲在客戶端和客戶端的請求必須 自給自足。
REST並沒有說你不能在服務器上存儲客戶端數據;它只是說你不應該在那裏存儲應用程序狀態,你可以認爲它是「這個客戶正在嘗試做什麼」。
如果你主要是想只是有身份驗證的用戶的一個概念,那麼一個標準的登錄cookie會工作得很好,而不是「unRESTful」。
+0
我發現的唯一合乎邏輯的解釋。希望它是正確的 – GorillaApe
2
這一切都歸結到你回答這個問題:你爲什麼需要擺在首位「會話」的概念?
如果您需要確保客戶端通過代表的一組憑據的餅乾,考慮而不是在客戶端將它們作爲HTTPS認證頭與每個請求代替。
如果您需要遵循一些粘性路由規則(以確保客戶端的請求被髮送到特定服務器),請考慮利用此機會擺脫那種架構的緊身衣,因爲它是殺死您的最快方式未來可擴展性的可能性。相反,讓你的服務器選擇任意。
如果你絕對必須到特定節點的路由,儘量要求客戶端傳遞,你可以用它來散列或分片客戶端下了特定的「泳道」足夠的識別數據。例如,您可以根據用戶名分割它們。
相關問題
- 1. REST Web服務建議
- 2. 使用Domino數據服務(REST服務)創建會議或日曆項目
- 3. REST服務器,Delphi和Web服務 - 需要的建議
- 4. 服務REST服務
- 5. 在WCF REST服務
- 6. Junit不會調用REST Web服務
- 7. REST服務不會變的簡單
- 8. 客戶端僅會從REST服務
- 9. 會員/授權通過REST服務
- 10. 開源視頻會議服務器
- 11. SMS REST服務?
- 12. REST服務在騾子
- 13. REST WCF服務在SSL
- 14. NoMessageBodyWriterFoundFailure在通過REST服務
- 15. Android和AppEngine Web服務:Json ... RPC,REST ...協議緩衝區?
- 16. 簡單訂購服務的REST設計建議
- 17. 請求REST服務
- 18. Spring XD REST服務
- 19. Rails Rest服務GET
- 20. 爲WCF REST服務
- 21. REST API服務器
- 22. junit REST web服務?
- 23. Developp Web服務REST
- 24. 服務層建議
- 25. Web服務建議
- 26. 服務 - Rest服務器設置
- 27. OAuth2授權服務器和Rest服務
- 28. 使用REST服務調用SOAP服務
- 29. Xpage REST服務控制和服務bean
- 30. 404找不到Rest服務的Rest Web服務
什麼是你想實現這些持續的客戶端會話?它僅僅是認證過程的性能優化? –