session、sessionid、cookie之間的關係

https://blog.csdn.net/weixin_43625577/article/details/92393581

 

cookie:

     如果不設置過期時間,則表示這個cookie生命週期爲瀏覽器會話期間,只要關閉瀏覽器窗口,cookie就消失了。這種生命期爲瀏覽會話期的cookie被稱爲會話cookie;cookie存內存,不是硬盤。

如果設置了過期時間,瀏覽器就會把cookie保存到硬盤上,關閉後再次打開瀏覽器,這些cookie依然有效直到超過設定的過期時間。
  存儲在硬盤上的cookie可以在不同的瀏覽器進程間共享,比如兩個IE窗口。而對於保存在內存的cookie,不同的瀏覽器有不同的處理方式。

 

cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在服務器端保持狀態的方案。 

由tomcat產生的sessionid是jsessionid:

  • 客戶端只保存 sessionID 到 cookie 中,而不會保存 session。
  • 關閉瀏覽器只會使存儲在客戶端瀏覽器內存中的session cookie失效,不會使服務器端的session對象失效,同樣也不會使已經保存到硬盤上的持久化cookie消失。

《python接口測試》中介紹的部分

cookie、session、token3者之間的關係:

Cookie有生命週期有2種:會話期間(瀏覽器把它放在內存裏,瀏覽器關閉則cookie消失)、長期有效(保存在client的硬盤裏,瀏覽器關閉,它不會消失)。不如session安全

session是放在服務端保存,cookie是放在client端保存。

Session也有自己的生命週期。session依賴cookie。

關於token:

client發起請求時,服務器對用戶信息使用hs256算法及密鑰進行簽名,再將簽名和數據一起作爲token發送給client,

client端保存token,server端不保存token。

當下次client再次發起請求時,server會對client中的信息進行加密計算出一個token值,把它與用戶自己攜帶的token進行對比,如果是一樣的,則校驗通過。如果不一樣,則不通過。

使用token的server,不需要保存sessionid,只需要生成token,然後驗證token即可。

token有沒有生命週期?

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章