Cookie Session 的工作原理

2021-10-07 14:20:48 字數 860 閱讀 5456

cookie是一種伺服器通知瀏覽器,以鍵值對儲存的小量資訊的技術。

瀏覽器向伺服器傳送請求

伺服器建立cookie物件,該cookie物件會攜帶使用者資訊,伺服器將該cookie物件傳送給瀏覽器。(cookie儲存在瀏覽器端)

以後瀏覽器再次向伺服器傳送請求時,會攜帶cookie物件

伺服器通過該cookie物件區分不同的瀏覽器(使用者)

cookie的value是string型別,不方便儲存資料

cookie資料儲存在瀏覽器端,相對不安全

如果使用cookie數量過多時,浪費資料流量

不同瀏覽器廠商對cookie數量大小有限制,一般在(200-500個,2kb左右)

(1)伺服器建立session物件[request.getsession()],同時建立乙個特殊的cookie(name:jsessionid, value:session的id),最終將cookie響應給瀏覽器。

(2)以後瀏覽器再傳送請求時,會攜帶特殊的cookie物件。

(3)伺服器通過cookie的value查詢指定的session物件,從而通過session物件區分不同使用者

獲取已經存在的session物件

先判斷特殊的cookie是否存在

a.  存在

@  再判斷session物件是否存在(session預設存活10分鐘)

#  存在:直接獲取 並 使用當前session就可

#  不存在:返回瀏覽器第一次傳送請求時的(1)步驟,繼續執行(1)步驟之後的操作。

b. 不存在:返回(1)步驟,繼續執行(1)步驟之後的操作。原因:特殊cookie不存在時,無法通過cookie的value查詢session物件,此時需要使用session物件的話就需要重新建立。

cookie session(過時的寫法)

cookie存在客戶端的瀏覽器中,不太安全,容易被竊取,session被存在伺服器中 類似於字典中的value,伺服器會給瀏覽器返回這個value的key值,下次進來直接根據key取value.獲取表單資料 password request.post.get pwd print username,p...

Cookie,Session和Token的區別

在做介面測試時,經常會碰到請求引數為token的型別,但是可能大部分測試人員對token,cookie,session的區別還是一知半解。cookie cookie 是乙個非常具體的東西,指的就是瀏覽器裡面能永久儲存的一種資料,僅僅是瀏覽器實現的一種資料儲存功能。cookie由伺服器生成,傳送給瀏覽...

cookie session(過時的寫法)

cookie存在客戶端的瀏覽器中,不太安全,容易被竊取,session被存在伺服器中 類似於字典中的value,伺服器會給瀏覽器返回這個value的key值,下次進來直接根據key取value.獲取表單資料 password request.post.get pwd print username,p...