描述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。

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

(4)服務器內有一進程,監視所有Session的活動狀況,如果有Session超時或是主動關閉,服務器就釋放改內存塊。

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

(6)然后,服務檢查該Session ID所對應的內存是否有效。

(7)如果有效,就讀出內存中的值。

(8)如果無效,就建立新的Session。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM