程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> cookie 和session 的區別,cookiesession區別

cookie 和session 的區別,cookiesession區別

編輯:JAVA綜合教程

cookie 和session 的區別,cookiesession區別


具體來說 cookie 是保存在“客戶端”的,而session是保存在“服務端”的

 

cookie 是通過擴展http協議實現的 

cookie 主要包括 :名字,值,過期時間,路徑和域;

          如果cookie不設置生命周期,則以浏覽器關閉而關閉,這種cookie一般存儲在內存而不是硬盤上.若設置了生命周期則相反,不隨浏覽器的關閉而消失,這些cookie仍然有效直到超過設定的過           期 時間。

session 一種類似散列表的形式保存信息,

           當程序需要為某個客戶端的請求創建一個session時,服務器首先檢查這個客戶端的請求裡是否已包含了一個session標識

         (稱為session id),如果已包含則說明以前已經為此客戶端創建過session,服務器就按照session id把這個session檢索出來

          使用(檢索不到,會新建一個),如果客戶端請求不包含session id,則為此客戶端創建一個session並且生成一個與此session相

          關聯的session id,session id的值應該是一個既不會重復,又不容易被找到規律以仿造的字符串,這個session id將被在本次響應

          中返回給客戶端保存。保存這個session id的方式可以采用cookie,這樣在交互過程中浏覽器可以自動的按照規則把這個標識發送給

          服務器。一般這個cookie的名字都是類似於SEEESIONID。但cookie可以被人為的禁止,則必須有其他機制以便在cookie被禁止時

          仍然能夠把session id傳遞回服務器。

優缺點:

1、cookie數據存放在客戶的浏覽器上,session數據放在服務器上。

2、cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙
   考慮到安全應當使用session。

3、session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能
   考慮到減輕服務器性能方面,應當使用COOKIE。

4、單個cookie保存的數據不能超過4K,很多浏覽器都限制一個站點最多保存20個cookie。

5、所以個人建議:
   將登陸信息等重要信息存放為SESSION
   其他信息如果需要保留,可以放在COOKIE中

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved