{eval=Array;=+count(Array);}

亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

問答專欄Q & A COLUMN

SESSION在服務(wù)端是如何實(shí)現(xiàn)的?

fou7fou7 回答3 收藏1
收藏問題

3條回答

wums

wums

回答于2022-06-22 19:22

首先來說,Session存儲(chǔ)于服務(wù)器端,由于服務(wù)器上有很多Session,如果我們要操作某個(gè)Session就需要一個(gè)標(biāo)識(shí)key,在Session機(jī)制中,這個(gè)標(biāo)識(shí)Key就是SessionID

其實(shí)這很好理解,舉個(gè)例子:你把服務(wù)器當(dāng)成一個(gè)教室,每個(gè)Session就是一個(gè)學(xué)生,如果你要找到某個(gè)學(xué)生,就需要知道這個(gè)學(xué)生的姓名。

請(qǐng)注意,不同WEB容器生成的SessionID名稱是不同的,比如說PHP的SessionID標(biāo)識(shí)名為PHPSESSID,Java容器生成的SessionID標(biāo)識(shí)名為JSESSIONID。

當(dāng)瀏覽器第一次訪問服務(wù)器時(shí),服務(wù)器端會(huì)生成一個(gè)Session(這里服務(wù)器端是可以控制Session是否自動(dòng)生成的),然后將對(duì)應(yīng)的SessionID存儲(chǔ)在客戶端的Cookie中,下次瀏覽器再發(fā)送請(qǐng)求時(shí),就會(huì)將本地Cookie作為頭信息傳輸?shù)椒?wù)器端,服務(wù)器端獲取到SessionID后就能找到與之對(duì)應(yīng)的Session了。

那服務(wù)器端的Session是如何存儲(chǔ)的呢?

服務(wù)器端的Session存儲(chǔ)形式是不同的,主要存放形式有:

  • 內(nèi)存中

  • 服務(wù)器File文件中

  • 數(shù)據(jù)庫中

  • NoSQL存儲(chǔ)等

在網(wǎng)站架構(gòu)中,如果Session存在于內(nèi)存中,這不利于集群環(huán)境下的Session共享互通,所以我們建議是將Session落地存儲(chǔ),最好的方式就是放在NoSQL中存儲(chǔ)(如Redis),這樣性能最優(yōu)。

以上就是我的觀點(diǎn),對(duì)于這個(gè)問題大家是怎么看待的呢?歡迎在下方評(píng)論區(qū)交流 ~ 我是科技領(lǐng)域創(chuàng)作者,十年互聯(lián)網(wǎng)從業(yè)經(jīng)驗(yàn),歡迎關(guān)注我了解更多科技知識(shí)!

評(píng)論0 贊同0
  •  加載中...
songjz

songjz

回答于2022-06-22 19:22

一般都是利用cookie 中存一個(gè)sessionid

客戶端第一次連接服務(wù)端的時(shí)候 服務(wù)器生成一個(gè)唯一的sessionid 同時(shí)生成這個(gè)文件來存儲(chǔ)session的值 然后通過HTTP頭域中返回這個(gè)sessionid 然后客戶端拿到后寫到cookie中

后面每次HTTP交互客服端都帶上這個(gè)sessionid

sessionid 在服務(wù)端可以存成文件或者一個(gè)基于內(nèi)存的hashtable

評(píng)論0 贊同0
  •  加載中...
cangck_X

cangck_X

回答于2022-06-22 19:22

瀏覽器在第一次訪問網(wǎng)站時(shí),會(huì)生成一個(gè)sessionid,然后寫到cookie中,發(fā)回到瀏覽器,后續(xù)請(qǐng)求瀏覽器會(huì)自動(dòng)帶上這個(gè)包含sessionid的cookie,服務(wù)端接收這個(gè)sessionid,然后去查找文件名為這個(gè)sessionid的文件,文件內(nèi)容就是session的具體保存東西了。明白了這個(gè)原理的話,那么就可以擴(kuò)展到數(shù)據(jù)庫,redis存儲(chǔ)session的方式了,他們都是以sessionid作為鍵,而且session也提供了自定義方式存儲(chǔ),只要實(shí)現(xiàn)了他的接口就可以存儲(chǔ)到其他地方了。這也看出來了一個(gè)瀏覽器在同一個(gè)網(wǎng)站上只能登錄一個(gè)賬號(hào),因?yàn)榈卿涍^后會(huì)把賬號(hào)信息保存到session中,而同一個(gè)瀏覽器同一個(gè)網(wǎng)站只能有一個(gè)session,所以要么銷毀之前的session,生成新的,要么就用當(dāng)前的。當(dāng)然做的好的網(wǎng)站,在檢測(cè)到你已經(jīng)登錄過的情況下,是不會(huì)允許你再次進(jìn)入登錄頁面的,會(huì)直接給你跳轉(zhuǎn)到首頁。

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<