Session是保存在服務(wù)器端的一個(gè)數(shù)據(jù)結(jié)構(gòu),它的作用是保存用戶會(huì)話、跟蹤用戶狀態(tài)、進(jìn)行用戶驗(yàn)證,典型的應(yīng)用場(chǎng)景如購(gòu)物車,由于HTTP協(xié)議是無狀態(tài)的協(xié)議,所以服務(wù)器要驗(yàn)證具體哪個(gè)用戶在操作購(gòu)物車,需要為每個(gè)用戶創(chuàng)建Session作為標(biāo)識(shí),用來跟蹤每個(gè)用戶的購(gòu)物車?yán)镉惺裁?,這些Session就保存在服務(wù)器端,每個(gè)Session都使用唯一的SessionID進(jìn)行標(biāo)識(shí),這些Session可以保存在集群、數(shù)據(jù)庫(kù)和文件中。
Cookie則是客戶端保存用戶信息的一種機(jī)制,也是Session的主要實(shí)現(xiàn)方式,如果Cookie在瀏覽器中被禁用,那么使用URL重寫技術(shù)來實(shí)現(xiàn)Session,Cookie的典型應(yīng)用場(chǎng)景為自動(dòng)填寫用戶名和密碼。
簡(jiǎn)單總結(jié)一下,Cookie是存在瀏覽器的,根據(jù)請(qǐng)求路徑自動(dòng)發(fā)送,服務(wù)器端可以對(duì)它進(jìn)行處理,Session則是存在服務(wù)器的,用來區(qū)分會(huì)話和不同用戶的訪問,一般來說,Session的識(shí)別需要Cookie的一個(gè)字段來表示是哪一個(gè)Session,由服務(wù)器端來識(shí)別。