Cookie 的特點(diǎn):
- 服務(wù)器通過(guò) Set-Cookie 響應(yīng)頭設(shè)置 Cookie
- 瀏覽器得到 Cookie 之后蓖康,每次請(qǐng)求都要帶上 Cookie
- 服務(wù)器讀取 Cookie 就知道登錄用戶的信息(email)
舉個(gè)例子:
比如游客A要去參觀動(dòng)物園僻焚,進(jìn)動(dòng)物園當(dāng)然要有門票征讲。
然后A就去買了兩日票撮躁,動(dòng)物園就給A返回一張兩日內(nèi)可無(wú)限入園參觀的門票荐吉。
用來(lái)記錄游客A的可以入園參觀的信息灾螃。
那么凿试,當(dāng)游客突發(fā)急事匹舞,離開了動(dòng)物園褐鸥,但是票的有效期是兩天的。
所以兩天內(nèi)即使游客再次進(jìn)動(dòng)物園赐稽,也不用再另外買票了叫榕。
而這個(gè)門票,就是cookie姊舵。
同理晰绎,游客B若也要參觀動(dòng)物園,也要先買門票括丁,同樣買了兩日票荞下。
那么動(dòng)物園也給游客B一張兩日票,兩日內(nèi),憑票可無(wú)限次數(shù)進(jìn)入動(dòng)物園尖昏。
cookie都是有期限的仰税,每個(gè)瀏覽器的保存期限都不一樣。
就好比瀏覽器抽诉。
用戶A訪問(wèn)了x.com陨簇,那么x.com的服務(wù)器就給用戶A返回一段數(shù)據(jù)(這個(gè)數(shù)據(jù)就是cookie)
這時(shí),當(dāng)用戶A退出頁(yè)面后再次訪問(wèn)x.com迹淌,
由于x.com已經(jīng)記錄了A的cookie河绽,所以A在x.com的一些歷史記錄信息也一并保存了下來(lái)。
上面的例子只是簡(jiǎn)單的介紹 Cookie 的作用唉窃,實(shí)際的網(wǎng)站使用 Cookie 時(shí)會(huì)更謹(jǐn)慎一些耙饰。
一些關(guān)于Cookie的問(wèn)題:
- 在 Chrome 登錄了得到 Cookie,用 Safari 訪問(wèn)纹份,Safari 會(huì)帶上 Cookie 嗎苟跪?
不會(huì)
- Cookie 存在哪?
Windows 存在 C 盤的一個(gè)文件里
- Cookie 的有效期?
默認(rèn)有效期20分鐘左右矮嫉,不同瀏覽器策略不同削咆,后端可以強(qiáng)制設(shè)置有效期,具體語(yǔ)法看 MDN
- Cookie 遵守同源策略嗎蠢笋?
也有拨齐,不過(guò)跟 AJAX 的同源策略稍微有些不同。
當(dāng)請(qǐng)求 qq.com 下的資源時(shí)昨寞,瀏覽器會(huì)默認(rèn)帶上 qq.com 對(duì)應(yīng)的 Cookie瞻惋,不會(huì)帶上 baidu.com 對(duì)應(yīng)的 Cookie
當(dāng)請(qǐng)求 v.qq.com 下的資源時(shí),瀏覽器不僅會(huì)帶上 v.qq.com 的Cookie援岩,還會(huì)帶上 qq.com 的 Cookie.