會話技術Cookie與Session

2022-09-02 00:15:18 字數 2098 閱讀 4359

從開啟乙個瀏覽器到訪問某個站點,到關閉這個瀏覽器的整個過程,成為一次會話。會話技術就是記錄這次會話中客戶端狀態與資料的

會話技術分為cookie和session

cookie:資料儲存在客戶端本地,減少伺服器端的儲存壓力,安全性不好,客戶端可以清除cookie

session:將資料儲存在伺服器端,安全性相對較好,但增加伺服器壓力

cookie

將資料儲存到客戶端

1.伺服器端向客戶端傳送乙個cookie

建立cookie:cookie cookie=new cookie(string cookiename,string cookievalue);

例如:cookie cookie=new cookie("username","zhangsan");//cookie會以響應頭的形式傳送給客戶端,cookie不能儲存中文

注意:如果不設定持久化時間,cookie會儲存在瀏覽器記憶體中,關閉瀏覽器cookie資訊銷毀,如果設定持久化時間,cookie資訊會被持久化到瀏覽器的磁碟檔案裡

例如:cookie.setmaxage(10*60);//設定cookie在瀏覽器中儲存時間10分鐘,過期自動刪除

設定cookie攜帶路徑:cookie.setpath(string path);

注意:如果不設定路徑,訪問產生該cookie的web資源所在路徑,並且web路徑下都攜帶cookie資訊

例如:cookie.setpath("/web01");//代表訪問web01應用中任何資源都攜帶cookie

向客戶端傳送cookie:response.addcookie(cookie cookie);

刪除客戶端cookie:使用同名同路徑持久化時間為0的cookie覆蓋即可

2.伺服器端接收客戶端傳送的cookie

通過request獲得所有cookie:cookie cookie=request.getcookies();

遍歷cookie陣列,通過cookie名稱獲得:

for

(cookie cookie:cookies)

}

session

將資料儲存在伺服器端,為每個客戶端建立一塊記憶體空間儲存資料,但客戶端需要每次都攜帶乙個標識id去伺服器找記憶體空間。所以說session的實現基於cookie,session需要借助於cookie儲存客戶的唯一性標識jsessionid

1.獲得session物件:httpsession session=request.getsession();

獲取專屬於當前會話的session物件,如果伺服器端沒有給會話的session物件,會建立乙個新的session返回,如果已經有了屬於該會話的session,直接將已有的session返回(實質就是根據jsessionid判斷該客戶端是否在伺服器上已經存在session了)

2.session域中訪問資料的三種方法

session.setattribute(string name,object obj)

session.setattribute(string name)

session.removeattribute(string name)

3.session物件生命週期

建立:第一次執行request.getsession()時建立

銷毀:伺服器(非正常)關閉時

session失效(預設30分鐘)

手動銷毀session:session.invalidate();

作用範圍:預設在一次會話中,也就是說在一次會話中任何資源公用乙個session物件

會話追蹤技術 Session與Cookie

瀏覽器第一次請求伺服器時,伺服器向瀏覽器傳送乙個名為jsessionid的cookie,它的值就是session的id值。session cookie 儲存位置 伺服器客戶端 儲存資料 任意物件 字串生命週期 會話結束 可臨時儲存在瀏覽器記憶體中,也可長期儲存在硬碟中 安全相對安全 不安全通過這兩種...

Cookie 會話跟蹤技術

伺服器的請求流程 特點 1.只能使用純文字 2.檔案有大小的限制 4kb 3.數量限制 50條左右 4.讀取有網域名稱的限制,不可跨域讀取 5.有時效性 設定cookie document.cookie name value 1.用等號去間隔cookie的名和值 3.沒有設定過期時間的cookie,...

會話技術之cookie

http協議具有無連線和無狀態的特點 在提高效率的同時會讓伺服器與瀏覽器變得冰冷 即使以很快的速度連續開啟兩次 伺服器依舊無法識別這是同乙個客戶 所以就需要使用會話技術使瀏覽器與伺服器相識 以及 可以讓瀏覽器訪問的不同指令碼之間資料共享 會話技術 包括 cookie技術和session技術 cook...