天天看點

Cookie知識點總結

Cookie機制是采用用戶端保持Http狀态資訊的方案。

Cookie是在浏覽器通路web伺服器的某個資源的時候,由web伺服器在http響應消息頭中附帶給浏覽器的一個小文本檔案。

一旦web伺服器儲存了某個Cookie,那麼它在以後每次通路該web伺服器的時候都會在http請求頭中将這個cookie回傳給web伺服器。

底層實作原理:web伺服器通過http響應消息中增加Set_cookie響應頭字段将cookie資訊發送給伺服器,浏覽器則通過在http請求消息中增加Cookie請求頭字段将cookie回傳給web伺服器。

一個cookie隻能辨別一種資訊,它至少含有一個辨別該資訊的名稱Name和設定值Value。

一個web站點可以給一個web浏覽器發送多個cookie,一個web浏覽器也可以存儲多個web站點提供cookie。

浏覽器一般隻允許存放300個cookie,每個站點最多存放20個cookie,每個cookie的大小限制為4kb。

Cookie知識點總結

第一次響應傳回cookie代碼:

在浏覽器裡面觀察資訊,響應裡面有伺服器端我剛剛設定的cookie資訊:

Cookie知識點總結

再次通路會将伺服器端傳回的cookie攜帶上: 

Cookie知識點總結

1 設定最大生存時間,以秒為機關:

cookie.setMaxAge(60); 

2 指定目錄中所有頁面以及該目錄子目錄的所有頁面可見,cookie路徑必須包含設定cookie的servlet,例如/catalog,它使得cookie對于伺服器上的/catalog下的所有目錄都是可見的。

cookie.setPath("/test/test2"):

3 建立cookie:

response.addCookie(cookie);

4 讀取cookie:

Cookie[] cookies = request.getCookies(); 

5 删除cookie:

Cookie cookie = new Cookie("key", null);

cookie.setMaxAge(0);

6 修改cookie:

// 建立一個已存在key的Cookie對象

Cookie cookie = new Cookie("cookie-name", null);

// 修改Cookie的值

cookie.setValue("this is new value");

// 通知浏覽器儲存修改

Cookie對象的.setMaxAge( ) 方法控制Cookie的存活。

Cookie的預設存活時間(會話)setMaxAge為負數,表示會話級。也就是說浏覽器一旦關閉,Cookie就會被删除。

Cookie的删除 setMaxAge 零表示馬上删除。表示浏覽器一收到響應,馬上就會删除Cookie。

Cookie的儲存 setMaxAge 正數表示多少秒之後删除

當我們建立一個新Cookie的時候。Cookie的預設存活時間為會話時間。也就是隻要一關浏覽器。cookie就會過期,被删除。

當我們調用setMaxAge( 0 ) 為零的時候。表示浏覽器一收到響應後,就馬上删除Cookie

當我們調用setMaxAge( 正頁 ) 的時候,表示Cookie将在多少秒後過期。

谷歌浏覽器,直接按下F12功能鍵,會彈出調試工具,選擇Resource-----Cookies----localhost檢視localhost域名下的cookie。

Cookie知識點總結

如果是火狐浏覽器。同樣按下F12功能鍵,彈出調試工具(一定要記住啟用所有視窗)。選擇Cookies選擇卡

Cookie知識點總結

如下内容參考網絡上面的資源:https://www.oschina.net/code/snippet_2001568_48014

添加cookie:

修改cookie:

擷取指定名稱的cookie:

删除指定的cookie:

java實作cookie增删改查:

通過SpringMvc來進行增删改查: