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,幫助大家理解內部命令 外部命令 管道等操作。京東購買 今天,優秀的使用者體驗設計是產品所不可或缺的,但設計一款產品則是乙個漫 長...