Cookie的基礎知識

2021-10-03 19:01:49 字數 1993 閱讀 5073

//1.建立cookie物件

cookie c = new cookie("msg","hello");

//2.傳送cookie

response.addcookie(c);

cookie cs = request.getcookies();

//獲取資料,遍歷cookies

if(cs != null)

}

建立cookie時,客戶端首次訪問,會在響應頭新增set-cookie欄位,如下

客戶端看到set-cookie欄位後,就會將msg=hello儲存

在第二次訪問服務端時,客戶端會在請求頭中以cookie欄位,將上次儲存的cookie資訊傳送給伺服器端,如下

//1.建立cookie物件

cookie c1 = new cookie("msg","hello");

cookie c2 = new cookie("name","zhangsan");

//2.傳送cookie

//獲取資料,遍歷cookies

預設情況下,儲存在瀏覽器的記憶體裡,當瀏覽器關閉時,cookie資訊將會銷毀

如何延長cookie的儲存時間

用setmaxage(int seconds)就可以,setmaxage的原理是將cookie資訊寫入到硬碟裡,這樣就能保證瀏覽器關閉或者是關機,   cookie資訊都不會丟失,它的值有如下三種可能

1. 正數:將cookie資料寫到硬碟的檔案中。並指定cookie存活時間,時間到後,cookie資訊將會自動銷毀

2. 負數:預設值,cookie資訊將會被儲存到瀏覽器記憶體裡,瀏覽器關閉後,cookie資訊丟失

3. 零:將刪除對應的cookie資訊

示例

//1.建立cookie物件

cookie c1 = new cookie("msg","setmaxage");

//2.設定cookie的存活時間

將cookie持久化到硬碟,30秒後會自動刪除cookie檔案

c1.setmaxage(0);//刪除cookie

//3.傳送cookie

response.addcookie(c1);

* 在tomcat 8 之前 cookie中不能直接儲存中文資料。

* 需要將中文資料轉碼---一般採用url編碼(%e3)

* 在tomcat 8 之後,cookie支援中文資料。特殊字元還是不支援(比如空格),建議使用url編碼儲存,url解碼解析

* 預設情況下cookie不能共享

* setpath(string path):設定cookie的獲取範圍。預設情況下,設定當前的虛擬目錄

* 如果要共享,則可以將path設定為"/"

* setdomain(string path):如果設定一級網域名稱相同,那麼多個伺服器之間cookie可以共享

* setdomain(".baidu.com"),那麼tieba.baidu.com和news.baidu.com中cookie可以共享

cookie基礎知識

cookie 儲存資料 1.不同的瀏覽器存放的cookie位置不一樣,也是不能通用的 2.cookie的儲存是以網域名稱形式進行區分的 3.cookie的資料可以設定名字的 4.乙個網域名稱下存放的cookie的個數是有限制的,不同的瀏覽器存放的個數不一樣 5.每個cookie存放的內容大小也是有限...

Cookie基礎知識

cookie有9個屬性 name cookie名 value cookie值 domain cookie的域。如果設成.test.com,那麼子網域名稱a.test.com和b.test.com,都可以使用.test.com的cookie path cookie的路徑,一般設定成 即可 expire...

電腦的基礎知識 電腦的基礎知識

電腦的組成部分與其作用 一 軟體系統 軟體系統的組成分別是 作業系統 應用軟體等。其應用軟體是指特定領域開發 並為特定目的服務的一類軟體。而作業系統是位於底層硬碟與使用者之間溝通的橋梁。使用者可以通過作業系統的使用者頁面,輸入命令,實現使用者需求。二 硬體系統 硬體系統是指構成計算機的物理裝置,即由...