描述Cookie和Session的做用,區別和各自的應用範圍,Session工做原理

Session用於保存每一個用戶的專用信息. 每一個客戶端用戶訪問時,服務器都爲每一個用戶分配一個惟一的會話ID(Session ID) . 她的生存期是用戶持續請求時間再加上一段時間(通常是20分鐘左右).Session中的信息保存在Web服務器內容中,保存的數據量可大可小.當 Session超時或被關閉時將自動釋放保存的數據信息.因爲用戶中止使用應用程序後它仍然在內存中保持一段時間,所以使用Session對象使保存用戶數據的方法效率很低.對於小量的數據,使用Session對象保存仍是一個不錯的選擇程序員

Cookie 用於保存客戶瀏覽器請求服務器頁面的請求信息,程序員也能夠用它存放非敏感性的用戶信息,信息保存的時間能夠根據須要設置.若是沒有設置Cookie失效日期,它們僅保存到關閉瀏覽器程序爲止.若是將Cookie對象的Expires屬性設置爲Minvalue,則表示Cookie永遠不會過時.Cookie存儲的數據量很受限制,大多數瀏覽器支持最大容量爲4K,所以不要用來保存數據集及其餘大量數據.因爲並不是全部的瀏覽器都支持Cookie,而且數據信息是以明文文本的形式保存在客戶端的計算機中,所以最好不要保存敏感的,未加密的數據,不然會影響網站的安全性瀏覽器

session工做原理安全

(1)當有Session啓動時,服務器生成一個惟一值,稱爲Session ID(好像是經過取進程ID的方式取得的)。服務器

(2)而後,服務器開闢一塊內存,對應於該Session ID。markdown

(3)服務器再將該Session ID寫入瀏覽器的cookie。cookie

(4)服務器內有一進程,監視全部Session的活動情況,若是有Session超時或是主動關閉,服務器就釋放改內存塊。session

(5)當瀏覽器連入IIS時並請求的ASP內用到Session時,IIS就讀瀏覽器Cookie中的Session ID。網站

(6)而後,服務檢查該Session ID所對應的內存是否有效。加密

(7)若是有效,就讀出內存中的值。spa

(8)若是無效,就創建新的Session。

相關文章
相關標籤/搜索