分布式session一致性問題
阿新 • • 發佈:2019-05-02
true user ssi 臨時 session 信息 use Nid 返回
1.分布式session一致性 :指服務器集群情況下session共享的問題。
2.session的作用:保存服務器(tomcat)與客戶端(瀏覽器)整個通訊的會話基本信息。
3.session應用場景:記錄用戶信息。登錄場景(賬號密碼登陸成功之後,獲取到userid,存放在session中,下次登錄的時候直接從session中獲取用戶信息)、防止表單重復提交。
session可以理解為本地jvm緩存,session存放在服務器端,返回sessionid給客戶端,客戶端下一次請求根據sessionid去服務器端獲取用戶信息。
session原理:
session存放在哪裏? 服務器端
瀏覽器關閉了,session會失效嗎?
第一次請求:客戶端向服務器端發送一個請求,服務器接收到客戶端的請求,會創建一個session,使用響應頭返回給客戶端一個sessionid,瀏覽器獲取到sessionid之後存放在本地。
第二次請求:客戶端讀取本地的sessionid存放在請求頭中,服務器端從請求頭中獲取到對應的sessionid,使用sessionid在服務器本地查詢對應的信息。
//默認創建一個session,默認值為true。如果沒有找到對應的session 則自動創建一個session
HttpSession session = request.getSession();session.setAttribute("name", value);
session 分為sessionid和sessionvalue
session 跟 token非常相似。session、token本身是臨時的,sessionid和token都是保證臨時且唯一的。
分布式session一致性問題