
跨境小伙伴們大家好,上一篇為大家介紹了Cookie,今天就為大家介紹下連接cookie的另一端Session,交互過程中,二者缺一不可。
與Cookie相對,Session是存儲在服務端的,他們之間是通過一個叫做sessionID的東東建立聯系的。簡單描述下他們直接的工作原理
以超市會員卡舉例,沒有辦理會員卡的用戶,每次到超市買東西結賬,超市都會認為您是新的用戶,且不會有積分,打折之類的優惠,此時用戶和超市之間就是沒有聯系的,也就是無狀態的意思,假如現在用戶辦了一張會員卡,一般都是通過手機號辦理會員卡,這個手機號就相當于sessionID,下次用戶再來購物,通過手機號就能知道是否是會員了。
無圖無真相

深入理解session機制
服務器使用類似散列結構的數據結構來保存session。
當用戶請求服務器時,服務器端會檢查客戶端請求中是否包含sessionID,如果包含,則說明已經創建了,進而通過sessionID查詢響應的存儲信息,比如判斷是否登錄、是否會員等。如果客戶端請求中不存在,則說明是一個新的客戶端,服務端會為他創建一個唯一的sessionID,并再本次響應中一并返回給我客戶端,這樣就建立了聯系。
何時創建
表面上是客戶端訪問時就創建,實際要根據服務器的設置來判斷是否需要創建。在此可以理解為訪問時創建。
何時刪除
session的存活時間操作設定值時會被刪除,還有就是服務器崩潰了,或者客戶端清除了瀏覽器cookie了。瀏覽器關閉或者崩潰是不會對session產生影響的,除非清空了cookie。
切記,服務端是認ID不認人的,只要您請求時帶了sessionID,就會認定為您是某一個指定的用戶,這就是為什么買店鋪的時候,賣家會給您Cookie文件。自己店鋪的Cookie一定要穩妥的保存哦。
好了今天就為大家介紹到這里。