Cookie浇揩、Session和LocalStorage

Storage就是指我們的存儲:


Storage.png

Coolie對應(yīng)的里面有Name,Value憨颠,Domain胳徽,Path和Expires。
Domain表示Cookie在哪個域下是生效的爽彤。Expires表示生效時間养盗,過了這個時間會自動失效。簡而言之适篙,cookie就是在當(dāng)前域名下存儲的一點點數(shù)據(jù)厂置,數(shù)據(jù)量很小端逼,不能超過4k。

  • cookie是存儲在瀏覽器上的一小段數(shù)據(jù),用來記錄某些當(dāng)頁面關(guān)閉或者刷新后仍然需要記錄的信息迹恐。在控制臺用 「document.cookie」查看你當(dāng)前正在瀏覽的網(wǎng)站的cookie覆糟。
  • cookie可以使用 js 在瀏覽器直接設(shè)置(用于記錄不敏感信息椒惨,如用戶名), 也可以在服務(wù)端通使用 HTTP 協(xié)議規(guī)定的 set-cookie 來讓瀏覽器種下cookie碌奉,這是最常見的做法。(打開一個網(wǎng)站碍论,清除全部cookie谅猾,然后刷新頁面,在network的Response headers試試找一找set-cookie吧)
  • 每次網(wǎng)絡(luò)請求 Request headers 中都會帶上cookie鳍悠。所以如果 cookie 太多太大對傳輸效率會有影響税娜。
    一般瀏覽器存儲cookie 最大容量為4k,所以大量數(shù)據(jù)不要存到cookie藏研。

假如我們清空本頁面的cookie敬矩,然后刷新頁面,會看到重新產(chǎn)生cookie蠢挡,那么這些cookie是誰設(shè)上去的呢弧岳?答案是響應(yīng)頭里面的set-cookie,瀏覽器看到set-cookie這個字段之后业踏,就把cookie種到當(dāng)前的頁面下:


響應(yīng)頭-setcookie.jpg

之后禽炬,瀏覽器發(fā)的請求都會帶上這個cookie:


帶上cookie.jpg

那么,cookie的作用是什么呢勤家?

  • 記錄用戶名

設(shè)置cookie時的參數(shù):
path:表示 cookie 影響到的路徑腹尖,匹配該路徑才發(fā)送這個 cookie。expires 和 maxAge:告訴瀏覽器 cookie 時候過期伐脖,maxAge 是 cookie 多久后過期的相對時間热幔。不設(shè)置這兩個選項時會產(chǎn)生 session cookie乐设,session cookie 是 transient 的,當(dāng)用戶關(guān)閉瀏覽器時绎巨,就被清除近尚。一般用來保存 session 的 session_id。
secure:當(dāng) secure 值為 true 時场勤,cookie 在 HTTP 中是無效肿男,在 HTTPS 中才有效

localStorage
localStorage.jpg

localStorage比較簡單,對應(yīng)的只有key和value却嗡,它的存儲量會大很多,5M甚至10M都有嘹承,他沒有時間限制窗价,即使把頁面關(guān)掉,下次重新打開叹卷,他仍然存在撼港。

使用JS可以操控localStorage:


操控.jpg
獲得.jpg

如果要將某個對象存入localStorage里去,那么先通過JSON.Stringify()方法將對象轉(zhuǎn)化成JSON字符串再存進去骤竹,例如:


JSONStringify.jpg
  1. localStorage HTML5本地存儲web storage特性的API之一帝牡,用于將大量數(shù)據(jù)(最大5M)保存在瀏覽器中,保存后數(shù)據(jù)永遠存在不會失效過期蒙揣,除非用 js手動清除靶溜。
  2. 不參與網(wǎng)絡(luò)傳輸。
  3. 一般用于性能優(yōu)化懒震,可以保存圖片罩息、js、css个扰、html 模板瓷炮、大量數(shù)據(jù)。

Session

  • 當(dāng)一個用戶打開淘寶登錄后递宅,刷新瀏覽器仍然展示登錄狀態(tài)娘香。服務(wù)器如何分辨這次發(fā)起請求的用戶是剛才登錄過的用戶呢?

  • 這里就使用了session保存狀態(tài)办龄。用戶在輸入用戶名密碼提交給服務(wù)端烘绽,服務(wù)端驗證通過后會創(chuàng)建一個session用于記錄用戶的相關(guān)信息,這個 session 可保存在服務(wù)器內(nèi)存中土榴,也可保存在數(shù)據(jù)庫中诀姚。

  • 創(chuàng)建session后,會把關(guān)聯(lián)的session_id 通過setCookie 添加到http響應(yīng)頭部中玷禽。

  • 瀏覽器在加載頁面時發(fā)現(xiàn)響應(yīng)頭部有 set-cookie字段赫段,就把這個cookie 種到瀏覽器指定域名下呀打。

  • 當(dāng)下次刷新頁面時,發(fā)送的請求會帶上這條cookie糯笙, 服務(wù)端在接收到后根據(jù)這個session_id來識別用戶贬丛。

cookie 是存儲在瀏覽器里的一小段「數(shù)據(jù)」,而session是一種讓服務(wù)器能識別某個用戶的「機制」给涕,session 在實現(xiàn)的過程中需要使用cookie豺憔。 二者不是同一維度的東西。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末够庙,一起剝皮案震驚了整個濱河市恭应,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌耘眨,老刑警劉巖昼榛,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異剔难,居然都是意外死亡胆屿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門偶宫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來非迹,“玉大人,你說我怎么就攤上這事纯趋≡魇蓿” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵吵冒,是天一觀的道長唇兑。 經(jīng)常有香客問我,道長桦锄,這世上最難降的妖魔是什么扎附? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮结耀,結(jié)果婚禮上留夜,老公的妹妹穿的比我還像新娘。我一直安慰自己图甜,他們只是感情好碍粥,可當(dāng)我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著黑毅,像睡著了一般嚼摩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天枕面,我揣著相機與錄音愿卒,去河邊找鬼。 笑死潮秘,一個胖子當(dāng)著我的面吹牛琼开,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播枕荞,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼柜候,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了躏精?” 一聲冷哼從身側(cè)響起渣刷,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎矗烛,沒想到半個月后飞主,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡高诺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了碾篡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虱而。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖开泽,靈堂內(nèi)的尸體忽然破棺而出牡拇,到底是詐尸還是另有隱情,我是刑警寧澤穆律,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布惠呼,位于F島的核電站,受9級特大地震影響峦耘,放射性物質(zhì)發(fā)生泄漏剔蹋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一辅髓、第九天 我趴在偏房一處隱蔽的房頂上張望泣崩。 院中可真熱鬧,春花似錦洛口、人聲如沸矫付。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽买优。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間杀赢,已是汗流浹背烘跺。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留葵陵,地道東北人液荸。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像脱篙,于是被迫代替她去往敵國和親娇钱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容