在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ express的cookie-session中間件

express的cookie-session中間件

cookie-session中間件說是將session data全部存儲在客戶端,但是不是存儲在req.session中嗎?不就是Node-Server的內(nèi)存中嗎?

回答
編輯回答
喵小咪

問題一:session data是否全部存儲在客戶端

首先要了解session的機制,以用戶通過瀏覽器訪問網(wǎng)站為例:

  1. 用戶請求到達server
  2. server生成用戶的session信息,存儲在服務(wù)端
  3. server返回用戶請求,通過 Set-Cookie 在用戶側(cè)種cookie

訪問網(wǎng)站的用戶很多,服務(wù)端存儲的session也很多,當(dāng)用戶再次訪問網(wǎng)站,server怎么區(qū)分當(dāng)前訪問的用戶對應(yīng)的session是哪一個?

答案就是前面講到的cookie。因此,session data 同時存儲在服務(wù)端、客戶端(比如瀏覽器)。

問題二:session在服務(wù)端的怎么存儲

session 在服務(wù)端可以存儲在多個地方,比如內(nèi)存、本地磁盤、遠程數(shù)據(jù)庫等。cookie-session 默認(rèn)是存在內(nèi)存中,也可以選擇其他存儲方案,具體參考 官方文檔

問題三:session data是否存儲在req.session中

結(jié)論:session數(shù)據(jù)并不是存儲在 req.session 中,只是為了方便用戶操作,中間節(jié)給掛載到 req.session 上了而已。實際存儲位置,參見上一個問題的答案。

流程如下:

用戶訪問 -> 按需讀取用戶session data -> 格式化session data -> 掛載到 req.session

2018年5月9日 02:58