cookie和session存在的原因
cookie和session的存在取決與HTTP請(qǐng)求的無狀態(tài)的特點(diǎn),也就是說HTTP請(qǐng)求的信息不會(huì)進(jìn)行保存,導(dǎo)致的問題就是沒辦法將兩次請(qǐng)求的數(shù)據(jù)之間進(jìn)行聯(lián)系cookie和session可以解決這個(gè)問題
什么是cookie
cookie:是服務(wù)器發(fā)送到用戶瀏覽器并保存在本地的一小塊數(shù)據(jù),它會(huì)在瀏覽器下次向同一服務(wù)器再發(fā)起請(qǐng)求時(shí)被攜帶并發(fā)送到服務(wù)器上。對(duì)于無狀態(tài)的HTTP協(xié)議,它用于告知服務(wù)端兩個(gè)請(qǐng)求是否來自同一瀏覽器,如保持用戶的登錄狀態(tài)。
什么是session
session:代表的是服務(wù)器與客戶端的一次對(duì)話的過程,session對(duì)象儲(chǔ)存用戶的信息來保證登錄狀態(tài),使得可以在頁面之間相互跳轉(zhuǎn)。可以通過以上的方法設(shè)計(jì)過濾器(當(dāng)用戶登錄的時(shí)候?qū)⒂脩粜畔⒋鎯?chǔ)到session中,由此就可以實(shí)現(xiàn),當(dāng)session中沒有用戶信息時(shí),攔截路徑,返回到登錄頁面)。
session是保存在服務(wù)器端的特定用戶會(huì)話所需的屬性及配置信息。
sessionId:當(dāng)瀏覽器第一次訪問服務(wù)器時(shí),服務(wù)器創(chuàng)建一個(gè)session對(duì)象(該對(duì)象有一個(gè)唯一的id,一般稱之為sessionId),服務(wù)器會(huì)將sessionId 以cookie的方式發(fā)送給瀏覽器。 當(dāng)瀏覽器再次訪問服務(wù)器時(shí),會(huì)將sessionId發(fā)送過來,服務(wù)器依據(jù) sessionId就可以找到對(duì)應(yīng)的session對(duì)象。
當(dāng)瀏覽器關(guān)閉的時(shí)候,session并不會(huì)在服務(wù)器端被清除,只有當(dāng)session超時(shí)失效才會(huì)被清除。