1. 程式人生 > >伺服器無狀態與有狀態解釋

伺服器無狀態與有狀態解釋

對於伺服器程式來說,有個基本假設,即伺服器是基於狀態請求,還是基於無狀態請求。根據這個假設,可以將伺服器劃分為狀態伺服器和無狀態伺服器。

狀態伺服器

如果是狀態化請求,那麼服務端一般需要儲存請求的相關資訊,每個請求可以預設地使用以前的請求資訊。

狀態伺服器具有以下特點: 
- 儲存客戶請求的資料(狀態) 
- 服務端容易對客戶狀態進行管理 
- 服務端並不要求每次客戶請求都攜帶額外的狀態資料

無狀態伺服器

無狀態伺服器處理的客戶資訊必須全部來自於請求所攜帶的資訊以及其他伺服器自身所儲存的、並且可以被所有請求所使用的公共資訊。

無狀態伺服器具有以下特點: 
- 並不儲存客戶請求的資料(狀態) 
- 客戶在請求時需要攜帶額外的狀態資料 
- 無狀態伺服器更加健壯,重啟伺服器不會丟失狀態資訊,這使得維護和擴容更加簡單

無狀態的伺服器程式,最著名的就是WEB伺服器。 
每次HTTP請求和以前請求沒有直接關聯。 
為了跟蹤客戶請求的狀態資訊,請求中加入COOKIE。 
COOKIE的存在,是無狀態化向狀態化過渡的一種手段。

轉自與: http://blog.csdn.net/lihao21