1.http協議的無狀態性:
無狀態是指,當瀏覽器發送請求給服務器的時候,服務器響應客戶端請求。但是當同一個瀏覽器再次發送請求給服務器的時候,服務器並不知道他就是剛纔的那個瀏覽器,簡單說就是服務器不會記得你,所以就是無狀態協議。保存用戶狀態的兩大機制session和Cookie
2.Cookie
什麼是Cookie:
cookie中文名稱爲:“小甜品”,是web服務器保存在客服端的一系列
cookie的作用 1、對特定對象的追蹤 2、保存用戶網頁狀態 3、簡化登錄 風險,容易泄漏信息1.創建Cookie對象
Cookie cookie=new Cookie(Stringkey,Object value);
2.寫入Cookie對象
response.addCookie(newCookie)
3.讀取Cookie文件
Cookie [] cookies =request.getCookies();
常用方法: 1. setMaxAge( expiry ) 設置cookie的有效期,以秒爲單位 getMaxAge() 獲取cookie的有效時間,以秒爲單位 2. setValue(String value) 在cookie創建後,對cookie進行賦值 getValue() 獲取cookie的值 3. getName() 獲取cookie的名稱 4.setValue()和getValue()涉及的都是字符串,對應前面提到的 Cookie是web服務器保存在客戶端的文本文件。
session與Cookie的對比:
共同點:
- 都是用來保存用戶狀態的一種機制
都會過期,也就是都有一個生存期限
不同點:
1.保存位置:session在服務器端內存,cookie在客戶端文本 2.保存對象:session保存Object類(保存對象大小沒有限制),cookie保存String類型(保存對象大小有限制) 3.生存權:session會話結束即銷燬,cookie可以長期保存在客戶端 4.重要性:session安全性更高,保存重要信息,cookie保存不重要的信息