由於 HTTP 協議是無狀態的,因此若想保留用戶的狀態信息,需要使用到 Cookie 和 Session 技術。
Cookie:
1、服務端通過 Set-Cookie 響應頭設置 Cookie2、客戶端得到 Cookie 後,會在本地磁盤創建一個文件用於保存用戶信息,每次請求都會帶上該 Cookie
3、客戶端發起請求,服務端讀取用戶 Cookie,獲得用戶信息
4、Cookie 並不是永久的,會在一定時間後失效
由於 Cookie 的安全性,引入了 Session 技術,Session 是基於 Cookie 實現的,Session 存儲在服務端,服務端使用 Session 存儲用戶信息
1、Cookie 不再存儲用戶的全部信息,而是存儲一個 SessionID
2、客戶端發起請求,服務端通過 Set-Cookie 給客戶端一個 SessionID(一串字符串)
3、客戶端再次發起請求時,服務端會讀取客戶端 Cookie 中的 SessionID 信息
4、服務端通過 SessionID 在 Session 中讀取用戶信息