一起來了解cookie呀!!!

2021-10-03 17:59:16 字數 2927 閱讀 5366

1.什麼是cookie

cookie是由伺服器傳送給客戶端,也就是瀏覽器的資訊(小量的)

2.用來幹什麼

cookie是鍵值對形式儲存的少量資訊,幫助我們跟蹤會話,一般該資訊記錄使用者身份。cookie也常常用來記錄購物車的商品資訊,例如:數量 ,記錄使用者訪問次數等等。

3.原理是什麼

當客服端請求伺服器時,如果伺服器需要記錄此使用者的狀態,就會使用response向客戶端瀏覽器頒發乙個cookie。此時,客戶端瀏覽器就會把cookie儲存起來,當瀏覽器請求伺服器時,瀏覽器就會把請求的**和cookie一起提交給伺服器,伺服器通過檢查cookie來獲取使用者的狀態。

1. 按照網域名稱儲存

+ 你在哪乙個網域名稱下儲存的內容, 就在哪乙個網域名稱下使用

+ 其他網域名稱都用不了

+ 和資源路徑位址沒有關係

2. 儲存大小有限制

+ 4kb 左右

+ 50 條左右

+ 或者的關係

3. 時效性

+ 預設是會話級別的時效性(關閉瀏覽器就沒有了)

+ 可以手動設定, 七天後, 兩個小時以後

4. 請求自動攜帶

+ 當你的 cookie 空間裡面有內容的時候

+ 只要是當前網域名稱下的任意乙個請求, 都會自動攜帶 cookie 放在請求頭裡面

=> cookie 裡面有多少自動攜帶多少

+ 如果 cookie 空間中沒有內容, 就不會攜帶了

5. 前後端操作

+ 前端可以通過 js 操作 cookie 空間進行增刪改查

+ 後端也可以通過任何後端語言進行 cookie 空間的增刪改查

cookie的新增

當我們獲取客戶端的cookie時,只能獲取maxage與value屬性,其他屬性都不會被提交。

cookie cookie=

newcookie

("username"

,"tom");

//新建乙個cookie物件

cookie.

setmaxage(24

*60*60

);//設定 過期時間為一天 單位為秒

response.

addcookie

(cookie)

;//儲存cookie到客戶端

cookie的刪除

當我們刪除某個cookie時,只需要新建乙個只有name和value不一樣的同名cookie,然後新增到response中覆蓋掉之前的cookie。

cookie cookie=

newcookie

("username"

,"tom");

//新建乙個cookie物件

cookie.

setmaxage(0

);//設定 過期時間為0 表示將要刪除

response.

addcookie

(cookie)

;//執行新增後就從response裡刪除

cookie的修改

當我們修改某個cookie時,同樣只需要新建乙個只有value屬性不一樣的同名cookie,然後新增到response中覆蓋掉之前的cookie。

cookie cookie=

newcookie

("username"

,"tom");

//新建乙個cookie物件

cookie.

setmaxage(24

*60*60

);//設定過期時間

response.

addcookie

(cookie)

;//執行新增後就從response裡覆蓋了修改

注意:我們修改和刪除cookie時,新建的cookie除value ,maxage之外的所有屬性,例如name、path、domain等,都要與cookie完全一樣。否則,瀏覽器將視為兩個不同的cookie,從而導致修改或者刪除失敗。

由於cookie是儲存在客戶端的,所以瀏覽器可以使用指令碼(js)等來操作cookie。

封裝的cookie函式

function

setcookie

(key,val,ops)

;let e ="";

if(ops.expires)

let p = ops.path ?

";path="

+ops.path :"";

document.cookie =`$

=$$$

`;}function

getcookie

(key)

}return"";

}function

removecookie

(key,ops)

; ops.expires =-1

;setcookie

(key,

"qweqwezzdasd"

,ops)

;}

安全問題:cookie中所有的內容,因為都是存在本地的文字,所以都是明文,只要能看到你的本地,就有可能看到你的cookie,所以在專案中千萬不要在cookie中直接存賬號密碼

cookie自身其實對工作環境沒有要求

但是cookie會隨著http發往伺服器

使用cookie的時候,是不是需要記錄客戶端和伺服器之間的資訊

客戶端是瀏覽器,伺服器是本地伺服器

所以導致,cookie最好也在伺服器環境中使用

ta和夏天一起來了

目錄下半年,擁有的請好好珍惜,想要的請努力去追。轉眼結束了2019的上半年,在這個月末,季度末,週末,學期末,大三末,記錄一下這兩個月的生活。能夠值得回味的故事,除了面了四次的阿里感到遺憾,還有華為雲以及華為通用的遺憾。不管如何,都過去了。生活上,還是覺得自己沒有好好珍惜時間去做一些正確的事情,遺憾...

翼龍貸風險管控如何?一起來了解

我們經常www.cppcns.com說 投資有風險 其實,理財平台最大的風險,就是大家投資了自己並不了解的理財,平台不正規暴雷跑路,讓我們血本無歸。想要安心理財,我們首選要做的就是了解該平台才能將低風險,所謂 知已知彼,百戰不殆 理財也是這樣的。那麼,選擇翼龍貸風險會有多大?我們一起來了解下 據悉,...

新書來了 邀您一起來看看

徹底剖析作業系統的原理,實現核心執行緒 特權級變換 使用者程序 任務排程 檔案系統等作業系統最基本的組成單元。用實際 解釋了鎖 訊號量 生產者消費者問題。實現了shell,幫助大家理解內部命令 外部命令 管道等操作。京東購買 今天,優秀的使用者體驗設計是產品所不可或缺的,但設計一款產品則是乙個漫 長...