session 和 cookie的區(qū)別
存放位置:session 保存在服務(wù)器冀自,cookie 保存在客戶端赠法;
存放的形式:session 是以對象的形式保存在服務(wù)器揭绑,cookie 以字符串的形式保存在客戶端上煤;
用途:session 適合做客戶的身份驗(yàn)證库说,cookie 適合保存用戶的個(gè)人設(shè)置狂鞋,愛好等;
路徑:session 不能區(qū)分路徑潜的,同一用戶在訪問一個(gè)網(wǎng)站期間骚揍,所有的 session 在任何一個(gè)地方都可以訪問到;cookie 中如果設(shè)置了參數(shù)路徑啰挪,那么同一個(gè)網(wǎng)站下的 cookie 互相訪問不到信不;
安全性:cookie 不是很安全,別人可以分析存放在本地的 cookie 并進(jìn)行 cookie 欺騙脐供,session 較 cookie 更安全一些浑塞;
大小及數(shù)量限制:單個(gè) cookie 在客戶端的限制是 3K,就是說一個(gè)站點(diǎn)在客戶端存放的 COOKIE 不能 3K政己。不同瀏覽器所含 cookie 的最大個(gè)數(shù)不同酌壕,一般 30 到 50 個(gè);一般認(rèn)為 session 沒有大小限制歇由。
session 和 cookie的聯(lián)系
session 需要借助 cookie 才能正常工作卵牍,如果客戶端完全禁止 cookie,session 將失效沦泌,因?yàn)?session 是由應(yīng)用服務(wù)器維持的一個(gè)服務(wù)端的存儲空間糊昙,用戶在連接服務(wù)器時(shí),會由服務(wù)器生成唯一的 sesssion id谢谦,用該 session id 為標(biāo)識來存取服務(wù)端的 session 空間释牺。而 session id 存儲在 cookie 中,用戶提交頁面時(shí)會將這個(gè) session id 提交到服務(wù)端回挽,來存取 session 數(shù)據(jù).這一過程是不用開發(fā)人員干預(yù)的没咙,所以一旦客戶端禁用 cookie,那么 session 也會失效千劈。
另外:
session 會在一定時(shí)間內(nèi)保存在服務(wù)器上祭刚。當(dāng)訪問增多,會比較占用你服務(wù)器的性能墙牌,如果主要考慮到減輕服務(wù)器性能方面涡驮,應(yīng)當(dāng)使用 COOKIE;
Sessionid 是服務(wù)器和客戶端鏈接時(shí)候隨機(jī)分配的喜滨。