溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么理解Session、Cookie基礎(chǔ)知識(shí)

發(fā)布時(shí)間:2021-12-17 16:47:25 來(lái)源:億速云 閱讀:162 作者:柒染 欄目:大數(shù)據(jù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)怎么理解Session、Cookie基礎(chǔ)知識(shí),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Web前端作為當(dāng)前市場(chǎng)上公認(rèn)的高薪行業(yè)之一,吸引了很多人加入學(xué)習(xí)。不過(guò),隨著企業(yè)對(duì)求職者技能要求的提高,不難發(fā)現(xiàn)面試難度也在進(jìn)一步加大。有不少同學(xué)想知道企業(yè)常問的考題是什么,接下來(lái)好程序員Web前端培訓(xùn)小編就給大家簡(jiǎn)單分享Session、Cookie相關(guān)面試題。

  1、Cookie和Session

  HTTP協(xié)議是一種無(wú)狀態(tài)協(xié)議,即每次服務(wù)端接收到客戶端的請(qǐng)求時(shí),都是一個(gè)全新的請(qǐng)求,服務(wù)器并不知道客戶端的歷史請(qǐng)求記錄;Session和Cookie的主要目的就是為了彌補(bǔ)HTTP的無(wú)狀態(tài)特性。

  2、Session是什么

  客戶端請(qǐng)求服務(wù)端,服務(wù)端會(huì)為這次請(qǐng)求開辟一塊內(nèi)存空間,這個(gè)對(duì)象便是Session對(duì)象,存儲(chǔ)結(jié)構(gòu)為ConcurrentHashMap。Session彌補(bǔ)了HTTP無(wú)狀態(tài)特性,服務(wù)器可以利用Session存儲(chǔ)客戶端在同一個(gè)會(huì)話期間的一些操作記錄。

  3、Session如何判斷是否是同一會(huì)話

  服務(wù)器第一次接收到請(qǐng)求時(shí),開辟了一塊Session空間(創(chuàng)建了Session對(duì)象),同時(shí)生成一個(gè) sessionId,并通過(guò)響應(yīng)頭的 Set-Cookie:JSESSIONID=XXXXXXX命令,向客戶端發(fā)送要求設(shè)置Cookie 的響應(yīng);客戶端收到響應(yīng)后,在本機(jī)客戶端設(shè)置了一個(gè)JSESSIONID=XXXXXXX的Cookie信息,該Cookie 的過(guò)期時(shí)間為瀏覽器會(huì)話結(jié)束。

  4、Cookie是什么?

  HTTP協(xié)議中的Cookie包括Web Cookie和瀏覽器Cookie,它是服務(wù)器發(fā)送到Web瀏覽器的一小塊數(shù)據(jù)。服務(wù)器發(fā)送到瀏覽器的Cookie,瀏覽器會(huì)進(jìn)行存儲(chǔ),并與下一個(gè)請(qǐng)求一起發(fā)送到服務(wù)器。通常,它用于判斷兩個(gè)請(qǐng)求是否來(lái)自于同一個(gè)瀏覽器,例如用戶保持登錄狀態(tài)。

  5、什么是Session Cookies

  Session Cookies也稱為會(huì)話Cookies,在Session Cookies中,用戶的登錄狀態(tài)會(huì)保存在服務(wù)器的內(nèi)存中。當(dāng)用戶登錄時(shí),Session就被服務(wù)端安全的創(chuàng)建。在每次請(qǐng)求時(shí),服務(wù)器都會(huì)從會(huì)話Cookie中讀取SessionId,如果服務(wù)端的數(shù)據(jù)和讀取的SessionId相同,那么服務(wù)器就會(huì)發(fā)送響應(yīng)給瀏覽器,允許用戶登錄。

  6、什么是Json Web Tokens

  Json Web Token的簡(jiǎn)稱就是JWT,通常可以稱為Json令牌。它是RFC 7519中定義的用于安全的將信息作為 Json 對(duì)象進(jìn)行傳輸?shù)囊环N形式。JWT 中存儲(chǔ)的信息是經(jīng)過(guò)數(shù)字簽名的,因此可以被信任和理解。可以使用 HMAC 算法或使用 RSA/ECDSA 的公用/專用密鑰對(duì) JWT 進(jìn)行簽名。

  使用JWT主要用來(lái)下面兩點(diǎn):

  認(rèn)證(Authorization):這是使用 JWT 最常見的一種情況,一旦用戶登錄,后面每個(gè)請(qǐng)求都會(huì)包含JWT,從而允許用戶訪問該令牌所允許的路由、服務(wù)和資源。單點(diǎn)登錄是當(dāng)今廣泛使用JWT的一項(xiàng)功能,因?yàn)樗拈_銷很小。

  信息交換(Information Exchange):JWT是能夠安全傳輸信息的一種方式。通過(guò)使用公鑰/私鑰對(duì)JWT進(jìn)行簽名認(rèn)證。此外,由于簽名是使用head和payload計(jì)算的,因此你還可以驗(yàn)證內(nèi)容是否遭到篡改。

上述就是小編為大家分享的怎么理解Session、Cookie基礎(chǔ)知識(shí)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI