2012-11-11 127 views
4

我正在建立一個Web應用程序,面向服務。 UI部分(一個Web應用程序)正在使用我正在編碼的REST Web服務。所以我有服務器和客戶端的一面。REST Web服務和Keep-Alive

我只是想知道在這種情況下設置HTTP保持活動是否有意義。如果是這樣,我很好奇爲什麼。

在此先感謝。

回答

7

是的,它的確如此!從我在我的服務器上的測試中,我可以在沒有Keepalive的情況下每秒向我的REST Web服務發送300個調用,超過2000個Keepalive。

您必須對使用模式進行一些分析 - 通常用戶驅動的使用會以突發形式出現,所以保持keepalive超時非常有意義,僅用於處理單個突發。

+0

感謝您的回覆。這是Keepalive在REST環境中唯一的優勢嗎? – Naoufel

+1

基本上可以 - 每次談判一個新的TCP連接都很費時 - 它可能很容易達到幾百毫秒,足以在最終用戶的某些情況下給出「網站速度緩慢」的想法。因爲,如果使用保持活動狀態,則在丟失時透明地重新協商連接,這不會使您的代碼更復雜,只會增加一點速度。 – thedayofcondor