Python知識分享網(wǎng) - 專業(yè)的Python學習網(wǎng)站 學Python,上Python222
50w字Java程序員面試寶典 PDF 下載
匿名網(wǎng)友發(fā)布于:2023-10-29 11:02:44
(侵權(quán)舉報)
(假如點擊沒反應,多刷新兩次就OK!)

50w字Java程序員面試寶典 PDF 下載 圖1

 

 

 

 

資料內(nèi)容:

 

 

Session 和 Cookie ?區(qū)別主要有這些:
MIC解析
Hi,大家好,我是Mic,一個工作了14年的程序員和創(chuàng)業(yè)者。
今天分享一道比較基礎的面試題。
但是我可以保證很多人不一定回答得很好。
具體問題是:Cookie和Session的區(qū)別。
下面看看高手對這個問題的回答。
高手
好的,面試官。
我先解釋一下Cookie,它是客戶端瀏覽器用來保存服務端數(shù)據(jù)的一種機制。
當通過瀏覽器進行網(wǎng)頁訪問的時候,服務器可以把某一些狀態(tài)數(shù)據(jù)以key-value的方式寫入到Cookie
里面存儲到客戶端瀏覽器。
然后客戶端下一次再訪問服務器的時候,就可以攜帶這些狀態(tài)數(shù)據(jù)發(fā)送到服務器端,服務端可以根據(jù)
Cookie里面攜帶的內(nèi)容來識別使用者。
Session表示一個會話,它是屬于服務器端的容器對象,默認情況下,針對每一個瀏覽器的請求。
Servlet容器都會分配一個Session。
Session本質(zhì)上是一個ConcurrentHashMap,可以存儲當前會話產(chǎn)生的一些狀態(tài)數(shù)據(jù)。
我們都知道,Http協(xié)議本身是一個無狀態(tài)協(xié)議,也就是服務器并不知道客戶端發(fā)送過來的多次請求
是屬于同一個用戶。
所以Session是用來彌補Http無狀態(tài)的不足,簡單來說,服務器端可以利用session來存儲客戶端在
同一個會話里面的多次請求記錄。
基于服務端的session存儲機制,再結(jié)合客戶端的Cookie機制,就可以實現(xiàn)有狀態(tài)的Http協(xié)議。
具體的工作原理是:
客戶端第一次訪問服務端的時候,服務端會針對這次請求創(chuàng)建一個會話,并生成一個唯一的
sessionId來標注這個會話。
然后服務端把這個sessionid寫入到客戶端瀏覽器的cookie里面,用來實現(xiàn)客戶端狀態(tài)的保存。
在后續(xù)的請求里面,每次都會攜帶sessionid,服務器端就可以根據(jù)這個sessionid來識別當前的會話
狀態(tài)。
所以,總的來看,Cookie是客戶端的存儲機制,Session是服務端的存儲機制。
這兩者結(jié)合使用,來實現(xiàn)會話狀態(tài)的存儲,以上就是我對這個問題的理解!