cookie和session的比較
一、對於cookie:
①cookie是創建於服務器端
②cookie保存在瀏覽器端
③cookie的生命週期可以通過cookie.setMaxAge(2000);來設置,如果沒有設置setMaxAge,
則cookie的生命週期當瀏覽器關閉的時候,就消亡了
④cookie可以被多個同類型的瀏覽器共享 可以把cookie想象成一張表
比較:
①存在的位置:
cookie 存在於客戶端,臨時文件夾中
session:存在於服務器的內存中,一個session域對象爲一個用戶瀏覽器服務
②安全性
cookie是以明文的方式存放在客戶端的,安全性低,可以通過一個加密算法進行加密後存放
session存放於服務器的內存中,所以安全性好
③網絡傳輸量
cookie會傳遞消息給服務器
session本身存放於服務器,不會有傳送流量
④生命週期(以20分鐘爲例)
(1)cookie的生命週期是累計的,從創建時,就開始計時,20分鐘後,cookie生命週期結束,
(2)session的生命週期是間隔的,從創建時,開始計時如在20分鐘,沒有訪問session,那麼session生命週期被銷燬
但是,如果在20分鐘內(如在第19分鐘時)訪問過session,那麼,將重新計算session的生命週期
(3)關機會造成session生命週期的結束,但是對cookie沒有影響
⑤訪問範圍
session爲一個用戶瀏覽器獨享
cookie爲多個用戶瀏覽器共享
使session失效的方法:
1.關閉tomcat
2.reload web應用
3.session時間到
4invalidate session
如果本地Cookie禁用了,重寫URL地址