Cookie和Session有很多相似的地方,都是用來(lái)臨時(shí)存儲(chǔ)來(lái)訪者信息,有很多情況下,使用兩者都可以實(shí)現(xiàn)某些特定功能,而兩者的根本區(qū)別是Cookie對(duì)象將信息存放在客戶端,Session對(duì)象存放在服務(wù)器端;從生存期上講,Cookie可以長(zhǎng)期保存,而Session的生存期僅僅到會(huì)話結(jié)束;
網(wǎng)站設(shè)計(jì)者可以選擇Session的存儲(chǔ)位置,可以存儲(chǔ)在服務(wù)器端的內(nèi)存中,也可以存放在SQL Server數(shù)據(jù)庫(kù)中,若要保存到數(shù)據(jù)庫(kù)中需要在Config.web文件中指明數(shù)據(jù)庫(kù)的位置;還可以將Session保存在狀態(tài)服務(wù)器中,狀態(tài)服務(wù)器可以單獨(dú)地存放Session對(duì)象的內(nèi)容,即使ASP.NET服務(wù)器進(jìn)程失敗,狀態(tài)服務(wù)器也可以保存Session信息.默認(rèn)模式是存放在服務(wù)器端內(nèi)存中.但大量的數(shù)據(jù)會(huì)增加服務(wù)器的負(fù)荷. Cookie保存在客戶端,用戶可以看到Cookie文件,并能對(duì)Cookie文件進(jìn)行類(lèi)似修改、刪除的操作,Cookie數(shù)據(jù)的安全性很難得到保障;而Session數(shù)據(jù)保存在服務(wù)器端,有較好的安全性,若和數(shù)據(jù)庫(kù)配合使用,可以使Session數(shù)據(jù)長(zhǎng)期保持,并得到很好的安全性.