不用session要怎麼保留使用者的登入狀態和引數呢?

時間 2021-10-16 05:50:18

1樓:輕舟已過萬重山

首先你的問題不對,是因為你沒有理解session是什麼。你理解的session可能是乙個存在瀏覽器cookie中的字串(session id)。

session簡單翻譯就是會話,是乙個整體行為的描述。客戶端和服務端通過網路建立起會話,在這個會話中服務端需要知道客戶端是誰。那麼對於使用HTTP網路協議來說,最好的會話實現就是Server Side Session模式,即會話資料儲存在服務端,然後返回乙個會話ID給客戶端,如果是瀏覽器,則會自動儲存在cookie中,客戶端後續請求都將帶上這個會話ID,服務端就能根據會話ID,查詢出儲存在服務端的會話資料,知道當前的請求是誰發起的。

關於JWT,只是乙個令牌生成方案,目的是將資料生成乙個字串令牌,可加密(JWE),防篡改(RSA簽名)。如果你將使用者資訊放入JWT令牌中,返回給客戶端,而服務端不儲存任何會話資訊,這樣使用其實是Client Side Session模式。Client Side Session模式有些優點,很多缺點。

更多詳細內容可參考我以前寫的文章:請立刻停止使用 JWT 進行會話管理 - 知乎 (zhihu.com)

前後端分離 不用session怎麼才能實現身份驗證?

紛羽 分離啊 我不太清楚這算不算 在客戶端利用js的ajax,每隔一段傳送一次請求,而伺服器開乙個執行緒專門接收這種請求,也是隔一段時間更新一次。每次更新,對比當前的時間和最後一次接收該客戶端請求的時間,如果時間差超過設定的值,則判斷登入失效。貌似,這種叫做心跳包機制 聽雨 有個問題啊,比說某些路由...

Google 為什麼要保留 I m feeling lucky (手氣不錯)的設計?

1 按鍵本身放在那據說提公升了使用者click搜尋按鍵的體驗。早年一次ab test的時候發現有feeling lucky的時候使用者反饋更好 不清楚具體怎麼就更好了 2 有了instant search和address bar搜尋之後 ads的收益損失不多吧 才有feeling lucky,htt...

為什麼日語中要保留漢字?

日語發音音素太少,不太好和北韓語,越南語一樣完全拼音去漢字化,而且他們也沒南韓越南那樣使用漢字的歷史心理負擔。不過在西方文化的影響下,越來越多的外來語被使用,其實韓語也在減少漢字詞的使用,這是未來的趨勢吧。不過外來語混雜太長寫法不規範,問題也不少。漢字在不少場合還有很多優點。可預見的未來是不會廢除漢...