深入理解Cookie機制
HTTP協議是無狀態的
瀏覽器每一次請求,服務器都會單獨處理,不與之前或之後的請求發生關聯,3次請求/響應之間沒有任何關係
即使瀏覽器同時發生3次請求,服務器也會單獨處理,服務器並不知道3個請求來自同一個瀏覽器
服務器想要識別瀏覽器請求,就必須弄清楚瀏覽器的請求狀態
既然HTTP協議是無狀態的,那麼就會讓服務器與瀏覽器共同維護一個狀態,這就是會話機制
會話機制
1.瀏覽器第一次請求服務器時,服務器會創建一個會話,並將會話的ID作爲響應的一部分發送給瀏覽器
2.瀏覽器存儲會話ID,並在後續的請求中帶上會話ID。服務器取得請求中的會話ID就知道是否爲同一個用戶
3.如此,後續請求就與第一次請求產生了關聯
Cookie機制
服務器在內存中保存會話對象,瀏覽器使用Cookie機制保存會話ID
Cookie機制是一種會話機制。Cookie是瀏覽器用來保存少量數據的一種機制,數據以key=value形式儲存,瀏覽器發送HTTP請求時,自動附帶cookie信息
Cookie:
是一小段文本信息,伴隨用戶的請求在瀏覽器和服務器之間傳遞
作用:
主要用來做用戶認證,可以保存用戶的其他一些信息
Cookie屬性
Expires屬性:代表過期時間,過了此時間,該cookie就失效了;如果不指定失效時間,表示在關閉瀏覽器後,cookie就會被瀏覽器刪除
Path屬性:表示cookie所屬的路徑
HttpOnly屬性:安全方面的屬性,設置爲HttpOnly後能防止XSS攻擊
Cookie分類
會話Cookie:
臨時cookie,記錄了用戶訪問站點時的設置和偏好,關閉瀏覽器後,會話cookie就別刪除了
持久Cookie:
存儲在硬盤中,無論瀏覽器退出或重啓計算機,都會保存。有過期時間
禁用Cookie
控制面板--->Internet設置--->隱私設置
網站自動登錄原理
第一次登錄後關閉瀏覽器
再次登錄後流程如下:
1.用戶打開瀏覽器後,輸入www.csdn.net
2.瀏覽器會在硬盤中查找相關csdn.net的Cookie,然後把Cookie放到HTTP請求中,再把請求發生給服務器
3.Web服務器返回博客首頁,此時會看到你已經登錄了
Cookie和文件緩存的區別
這兩個完全不一樣,唯一相同的是都存儲在硬盤中,而且存在同一個文件夾下
Fiddler之Cookie機制講解
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.