session: 儲存在服務端,随着服務端的死亡而死亡,或者是超過sesison設定的過期時間死亡(預設30分鐘)。
cookie:儲存在用戶端,在不持久話的情況下随着浏覽器的關閉而失效。
首先介紹一下使用者登入的相關解決方案:
單體應用:
1.使用session,使用者資訊儲存在session中,關閉會話即重新登入(薦)
2.使用cookie,使用者登入資訊儲存在cookie中,cookie失效重新登入
分布式應用:
1.使用cookie,使用者登入資訊儲存在cookie中,cookie失效重新登入(薦)
2.session共享(多種方式),使用者資訊儲存在session中,關閉會話即重新登入
3.粘性session,也就是每次都通路一個伺服器,會話關閉重新登入,故障轉移時重新登入,
4.session複制,每一個服務都有這個session,會話關閉重新登入(影響性能)
這裡就不介紹每種方案的實作了。
下面介紹一下session和sessionid
sessionid相當于是一個指向session的位址的常量,sessionid丢失不會導緻session失效。

對于URL攜帶sessionid這種方式會導緻一些不安全的因素,比如在url中修改sessionid可能會碰到其他已經登入使用者的session,即可以擷取到他的登入資訊。