cookie,session總結

  1. cookie:存儲在瀏覽器端,是一個key-value結構,有生命時長會在一段時間後自動銷燬,一般用於存儲用戶的信息(例如記住用戶名等),每個瀏覽器最多存儲300個cookie,每個站點最多20個cookie
  2. session:爲會話控制,用來記錄用戶的一些狀態(例如在沒有登陸的時候是不能直接進入管理頁面),session同樣爲一個key-value結構

工作原理

cookie

  • 首先由服務器發送給瀏覽器一個cookie,瀏覽器保存該cookie,在該cookie的有效期間,如果瀏覽器去訪問該站點會攜帶cookie信息,web站點會根據攜帶的cookie信息轉化爲全局變量然後回傳給瀏覽器,起到記錄某些信息的作用,在beego框架中可以直接使用setcookie和getcookie來操作

session

  • session保存在服務器端,工作原理爲在瀏覽器本地會存儲一個cookie,然後在訪問站點的時候將cookie信息帶入到後端,後端會根據信息查找是否存在對應session信息,如果存在則執行對應的操作,如果不存在,那麼就會將該用戶的狀態進行回退到登錄或更早的狀態

爲什麼使用

爲什麼使用cookie

cookie可以記錄下我們輸入過的一些信息,在下次訪問的時候可以簡便我們的輸入,有時候會記錄一下web站點的信息,達到加快訪問web站點的作用,並且可以起到對用戶個性化服務的作用

爲什麼使用session

因爲HTTP的無狀態性,所以我們沒有辦法在HTTP發送請求的時候知道當前用戶的狀態,也就是比如說,當前是哪個用戶的之類的這種信息,所以這個時候我們需要session來標識當前的狀態

缺點

cookie

cookie的缺點:cookie再給我們帶來個性化服務的同時,也把我們的信息記錄下來,比如我們訪問某個站點的習慣等,這樣我們的隱私安全很有可能受到威脅

session

因爲創建Session變量有很大的隨意性,可隨時調用,不需要開發者做精確地處理,所以,過度使用session變量將會導致代碼不可讀而且不好維護,session的時效性跟隨瀏覽器關閉而銷燬

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