更新時(shí)間:2020-11-17 來源:黑馬程序員 瀏覽量:
(1)問題分析
考官主要是針對你對javaweb會話跟蹤技術(shù)的考核, 比如:cookie被用戶禁用怎么辦?
(2) 核心答案解析
1)cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。
2)cookie并不是很安全,別人可以分析存放在本地的cookie并進(jìn)行cookie欺騙,考慮到安全應(yīng)當(dāng)使用session。
3)session會在一定時(shí)間內(nèi)保存在服務(wù)器上。當(dāng)訪問增多,會比較占用你服務(wù)器的性能,考慮到減輕服務(wù)器性能方面,應(yīng)當(dāng)使用cookie。
4)單個(gè)cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個(gè)站點(diǎn)最多保存20個(gè)cookie。
5)可以考慮將登陸信息等重要信息存放為session,其他信息如果需要保留,可以放在cookie中。
6)session會在瀏覽器關(guān)閉或者一段時(shí)間內(nèi)銷毀而cookie將持久化的存放在客戶端
一般情況下,session生成的sessionid都是保存在cookie中。
(3)問題擴(kuò)展
cookie被用戶禁用怎么辦?可以使用URL地址重寫是對客戶端不支持Cookie的解決方案。URL地址重寫的原理是將該用戶Session的id信息重寫到URL地址中。服務(wù)器能夠解析重寫后的URL獲取Session的id。這樣即使客戶端不支持Cookie,也可以使用Session來記錄用戶狀態(tài)。
(4)結(jié)合項(xiàng)目使用
1)判斷用戶是否登陸過網(wǎng)站,以便下次登錄時(shí)能夠直接登錄。如果我們刪除cookie,則每次登錄必須從新填寫登錄的相關(guān)信息。
2)另一個(gè)重要的應(yīng)用是“購物車”中類的處理和設(shè)計(jì)。用戶可能在一段時(shí)間內(nèi)在同一家網(wǎng)站的不同頁面選擇不同的商品,可以將這些信息都寫入cookie,在最后付款時(shí)從cookie中提取這些信息,當(dāng)然這里面有了安全和性能問題需要我們考慮了。
猜你喜歡: