1.什么是 Cookie
- Cookie 是存儲(chǔ)在用戶瀏覽器中的一段不超過 4 KB 的字符串总棵。它由一個(gè)名稱(Name)、一個(gè)值(Value)和其它幾個(gè)用于控制 Cookie 有效期、安全性、使用范圍的可選屬性組成疾掰。
- 不同域名下的 Cookie 各自獨(dú)立覆积,每當(dāng)客戶端發(fā)起請(qǐng)求時(shí)听皿,會(huì)自動(dòng)把當(dāng)前域名下所有未過期的 Cookie 一同發(fā)送到服務(wù)器。
- Cookie的幾大特性:
? ? ① 自動(dòng)發(fā)送
? ? ② 域名獨(dú)立
? ? ③ 過期時(shí)限
? ? ④ 4KB 限制
2. Cookie 在身份認(rèn)證中的作用
- 客戶端第一次請(qǐng)求服務(wù)器的時(shí)候宽档,服務(wù)器通過響應(yīng)頭的形式写穴,向客戶端發(fā)送一個(gè)身份認(rèn)證的 Cookie,客戶端會(huì)自動(dòng)將 Cookie 保存在瀏覽器中雌贱。隨后啊送,當(dāng)客戶端瀏覽器每次請(qǐng)求服務(wù)器的時(shí)候,瀏覽器會(huì)自動(dòng)將身份認(rèn)證相關(guān)的 Cookie欣孤,通過請(qǐng)求頭的形式發(fā)送給服務(wù)器馋没,服務(wù)器即可驗(yàn)明客戶端的身份。
3. Cookie 不具有安全性
- 由于 Cookie 是存儲(chǔ)在瀏覽器中的降传,而且瀏覽器也提供了讀寫 Cookie 的 API篷朵,因此 Cookie 很容易被偽造,不具有安全性婆排。因此不建議服務(wù)器將重要的隱私數(shù)據(jù)声旺,通過 Cookie 的形式發(fā)送給瀏覽器。
4. Session 的工作原理
- 登錄成功后段只,將登錄成功后的用戶信息存儲(chǔ)在服務(wù)器的內(nèi)存中腮猖,同時(shí)生成對(duì)應(yīng)的 Cookie 字符串≡拚恚客戶端再次發(fā)送請(qǐng)求時(shí)澈缺,通過請(qǐng)求頭自動(dòng)把當(dāng)前域名下所有可用的 Cookie 發(fā)送給服務(wù)器。服務(wù)器根據(jù)請(qǐng)求頭中攜帶的 Cookie,從內(nèi)存中找到對(duì)應(yīng)的用戶信息炕婶。用戶的身份認(rèn)證成功后姐赡,服務(wù)器針對(duì)當(dāng)前用戶生成特定的響應(yīng)內(nèi)容。