cookie技術
一、伺服器端向客戶端傳送乙個cookie
1. 建立cookie
cookie cookie = new cookie(string cookiename,string cookievalue);
示例:cookie cookie = new cookie("username","zhangsan");
那麼該cookie會以響應頭的形式傳送給客戶端:
注意:cookie中不能儲存中文
2. 設定cookie在客戶端的持久化時間
cookie.setmaxage(int seconds); ---時間秒
注意:如果不設定持久化時間,cookie會儲存在瀏覽器的記憶體中,瀏覽器關閉cookie資訊銷毀(會話級別的cookie),如果設定持久化時間,cookie資訊會被持久化到瀏覽器的磁碟檔案裡;
3. 向客戶端傳送cookie
response.addcookie(cookie cookie);
4. 刪除客戶端的cookie
如果想刪除客戶端的已經儲存的cookie資訊,那麼就使用同名同路徑的持久化時間為0的cookie進行覆蓋即可
二、伺服器端怎麼接受客戶端攜帶的cookie
cookie資訊是以請求頭的方式傳送到伺服器端的:
通過request獲得所有的cookie:
cookie cookies = request.getcookies();
for(cookie cookie : cookies)
}session技術
session技術是將資料儲存在伺服器端的技術,會為每個客戶端都建立一塊記憶體空間儲存客戶的資料,但客戶端需要每次都攜帶乙個標識id去伺服器中尋找屬於自己的內 存空間。所以說session的實現是基於cookie,session需要借助於cookie儲存客 戶的唯一性標識;
1. 獲取session
此方法會獲得專屬於當前會話的session物件,如果伺服器端沒有該會話的session 物件會建立乙個新的session返回,如果已經有了屬於該會話的session直接將已有 的session返回(實質就是根據jsessionid判斷該客戶端是否在伺服器上已經存在 session了)
2. 怎樣向session中訪問資料
session.setattribute(string name,object obj);
session.getattribute(string name);
session.removeattribute(string name);
3. session物件的生命週期
建立:第一次執行request.getsession()時建立
銷毀:1)伺服器(非正常)關閉時
2)session過期/失效(預設30分鐘)
可以在工程的web.xml中進行配置
30cookie/session的區別與聯絡
區別:1、cookie和session都是會話技術,cookie是執行在客戶端,session是執行在伺服器端。
2、cookie有大小限制以及瀏覽器在存cookie的個數也有限制,session是沒有大小限制和伺服器的記憶體大小有關。cookie只能存放4k的資料,而session理論上沒有做限制
3、cookie有安全隱患,通過攔截或本地檔案找得到你的cookie後可以進行攻擊。
4、session是儲存在伺服器端上會存在一段時間才會消失,如果session過多會增加伺服器的壓力。
聯絡:session雖說存放在伺服器端,但是仔細看剛才的執行流程你會明白,session是依賴於cookie的。
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是一種伺服器通知瀏覽器,以鍵值對儲存的小量資訊的技術。瀏覽器向伺服器傳送請求 伺服器建立cookie物件,該cookie物件會攜帶使用者資訊,伺服器將該cookie物件傳送給瀏覽器。cookie儲存在瀏覽器端 以後瀏覽器再次向伺服器傳送請求時,會攜帶cookie物件 伺服器通過該cook...