日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

詳解JS瀏覽器儲(chǔ)存

瀏覽:207日期:2024-03-28 13:59:00
引言

隨著對前端的了解越來越深入,了解到了很多種瀏覽器的存儲(chǔ)方案,如 Cookie、LocalStorage等,哪這些存儲(chǔ)方案有何異同,分別的適用場景又是什么呢。

Cookie

Cookie的來源

Cookie 被創(chuàng)造出來的本意并不是本地儲(chǔ)存,而是為了辨別用戶身份。眾所周知,Http 協(xié)議是無狀態(tài)的,也就是說你每一次發(fā)送給服務(wù)器的請求對于服務(wù)器來說都是孤立的,服務(wù)器不知道這這些請求來自于誰。比如你向購物車?yán)锩嫣砑恿艘恍┥唐罚钱?dāng)發(fā)送結(jié)賬請求的時(shí)候服務(wù)器懵了,我怎么知道你是誰,你買了什么呢。而使用 Cookie 之后,服務(wù)器就可以通過查看 Cookie 來判斷發(fā)送用戶,一定程度上 Cookies 可以說是請求的身份證。可以告訴服務(wù)器請求發(fā)送自誰。

Cookie是什么

百聞不如一見,直接來看看 Cookie 長啥樣

詳解JS瀏覽器儲(chǔ)存

這是百度首頁使用的 Cookie ,如你所見,Cookie 是以 Name-Value 鍵值對儲(chǔ)存在瀏覽器中的,其中 Value 又是明顯經(jīng)過了加密的數(shù)據(jù)。

Cookie生成方式

Cookie 是所屬于域名的,還是百度首頁的 Cookie,通過 Domain 屬性可以得知前兩個(gè) Cookie 是屬于 .baidu.com 的

詳解JS瀏覽器儲(chǔ)存

每個(gè)域名只能設(shè)置與訪問到自己域名下的 Cookie,比如 baidu.com 無法訪問 Domain 為 sougou.com 的 Cookie。但是子域名可以讀取父域名設(shè)置的Cookie,比如截圖中 www.baidu.com 就讀取到了 Domain=’.baidu.com’ 的Cookie,通過手動(dòng)設(shè)置 Domain 可以設(shè)置父域名的 Cookie,比如 www.baidu.com 可以設(shè)置Domain=’baidu.com’這樣 *.baidu.com 所有二級(jí)域名也能讀取到它設(shè)置的 Cookie

//www.baidu.comdocument.cookie=’age=20;domain=.baidu.com’// 此時(shí) 所有二級(jí)域名可以直接讀取到這個(gè) Cookie

Cookie的生成方式分為 服務(wù)器端生成和瀏覽器端生成。

服務(wù)器端-通過設(shè)置 http response header中的set-cookie

我們可以通過響應(yīng)頭里的 Set-Cookie 指定要存儲(chǔ)的 Cookie 值。當(dāng)請求返回瀏覽器的時(shí)候?yàn)g覽器就會(huì)按照 header 中的 set-cookie 值設(shè)置 Cookie。默認(rèn)情況下,Domain 被設(shè)置為設(shè)置 Cookie 頁面的主機(jī)名,當(dāng)然我們也可以手動(dòng)設(shè)置 Domain 的值。

Set-Cookie: id=a3fWa;

瀏覽器端-js中可以通過document.cookie可以讀寫cookie,以鍵值對的形式展示

document.cookie='id=a3fWa'document.cookie=’age=20;domain=.baidu.com’Cookie的應(yīng)用場景

既然 Cookie 的作用就是告訴服務(wù)器請求來自于誰,那么最主要的作用就是保持用戶登陸態(tài)(記住密碼),除此之外還可以記錄用戶瀏覽數(shù)據(jù),進(jìn)行廣告推送和前文提到的購物車等。

Cookie的缺點(diǎn)

缺點(diǎn)其實(shí)在前文中就很顯而易見了

不夠大

Cookie 會(huì)隨著每一次請求發(fā)送,這就注定了 Cookie 必定會(huì)有嚴(yán)格的大小限制,每一個(gè) Cookie 的大小被限制在了 4kb,值得注意的是 4kb 指的是一個(gè) Name-Value 的大小,而并不是說這個(gè)域名可以設(shè)置的 Cookie 總大小只有 4kb

性能缺陷

Cookie 是跟隨著域名的,會(huì)隨著每一個(gè)同域名請求發(fā)送,但是其實(shí)很大一部分請求,比如說圖片等靜態(tài)資源的請求是完全用不著 Cookie 的,雖然每個(gè)Cookie只有 4kb 但是積少成多也會(huì)帶來巨大的資源浪費(fèi)。

我們可以把靜態(tài)資源放到 CDN 上去,這時(shí)候圖片域名就和主站域名不相同了,就不會(huì)附帶發(fā)送 Cookie

不夠安全

正如上文直接打開控制臺(tái)就可以看到 Cookie 一樣,Cookie 雖然通過編碼進(jìn)行了加密,但在 Http 傳輸中是明文傳輸,腳本也可以很輕松的獲取到 Cookie,非常容易被破解。

在服務(wù)器端設(shè)置 Cookie 的時(shí)候附帶上 HttpOnly 標(biāo)記,這樣在瀏覽器端就無法使用 document.cookie 訪問到這個(gè) Cookie 了

Set-Cookie: id=a3fWa; HttpOnly

標(biāo)記為 Secure 的 Cookie 只應(yīng)通過 Https 協(xié)議加密過的請求發(fā)送,但是即便如此也不應(yīng)該使用 Cookie 儲(chǔ)存敏感信息,因?yàn)?Cookie 有其固有的不安全性,這兩個(gè)標(biāo)記也無法提供確切的安全保障。

解決方法

既然 Cookie 有這么多缺點(diǎn),有沒有什么一勞永逸的解決方法呢,那就是「專業(yè)的人做專業(yè)的事」。

用戶登錄態(tài)和部分用戶信息的存儲(chǔ)的工作交給 Seesion ---即 Cookie 只用來儲(chǔ)存一個(gè)用戶唯一標(biāo)識(shí)符,真正信息儲(chǔ)存在服務(wù)器端,使用 Cookie 作為 SeesionID 去服務(wù)器查找信息,這樣一來 Cookie 的容量限制,安全問題都引刃而解了,因?yàn)榇藭r(shí) Cookie 里面就是一串無意義的隨機(jī)碼。

本地儲(chǔ)存得工作交由html5 中新增本地存儲(chǔ)的解決方案「Web Storage」,它又分成兩類 :localStorage和SessionStorage,接下來就介紹這兩兄弟。

LocalStorage特點(diǎn) 數(shù)據(jù)長時(shí)間保存,直到手動(dòng)刪除為止 大小約為 5M 和 Cookie 一樣,一個(gè)網(wǎng)站只能訪問和操作自己網(wǎng)站域名下的數(shù)據(jù) 僅在客戶端使用,和服務(wù)端無通信 接口封裝較好 使用鍵值對保存信息 同源窗口都可以訪問使用示例

LocalStorage 使用非常方便:

// 設(shè)置數(shù)據(jù)localStorage.setItem('key','value');//讀取數(shù)據(jù)let valueLocal = localStorage.getItem('key');使用場景

通過上面那些特性就可以看出 LocalStorage 非常適合用來做本地緩存,可以提高首屏加載速度。一些圖片等不會(huì)經(jīng)常改變的大資源也可以緩存下來,減少網(wǎng)絡(luò)請求。

SeesionStorage特點(diǎn) 保存時(shí)間為本次會(huì)話,也就是說窗口關(guān)閉就沒了 僅本窗口可以訪問,同源的其他窗口都不行大 小約為 5M使用場景

sessionStorage 更適合用來存儲(chǔ)生命周期和它同步的會(huì)話級(jí)別的信息。這些信息只適用于當(dāng)前會(huì)話,比如可以用來做表單數(shù)據(jù)的持久化,防止刷新后表單數(shù)據(jù)丟失

Cookie、LocalStorage 和SessionStorage 之間的區(qū)別作用域的不同

這三者都遵循協(xié)議,即同協(xié)議,同域名,同端口下才能訪問和修改同一份數(shù)據(jù),唯一不同的就是 SeesionStorage 還要求在同一窗口。

生命周期的不同 Cookie可以手動(dòng)設(shè)置過期時(shí)間,默認(rèn)就是本次會(huì)話時(shí)長,隨著窗口關(guān)閉而刪除,當(dāng)設(shè)置了過期時(shí)間時(shí)候,就會(huì)被儲(chǔ)存到硬盤中直到過期時(shí)間才被刪除 LocalStorage是持久化的本地儲(chǔ)存,除非你手動(dòng)刪除,否則會(huì)一直存在 SessionStorage是會(huì)話級(jí)別的存儲(chǔ),也是隨著窗口關(guān)閉而刪除。總結(jié)

這就是幾種瀏覽器存儲(chǔ)方案,當(dāng)然還有我們應(yīng)該根據(jù)不同方案各自的特點(diǎn)決定什么時(shí)候使用什么方案,適合的才是最好的。總結(jié)一下本文的幾個(gè)重點(diǎn)

Cookie 的本職工作并非本地存儲(chǔ),而是“維持狀態(tài)” Web Storage 是html5 專門為瀏覽器存儲(chǔ)而提供的數(shù)據(jù)存儲(chǔ)機(jī)制,不與服務(wù)端發(fā)生通信

以上就是詳解JS瀏覽器儲(chǔ)存的詳細(xì)內(nèi)容,更多關(guān)于JS瀏覽器儲(chǔ)存的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
美腿丝袜亚洲一区| 久久亚洲影院| 好吊一区二区三区| 欧美一区二区三区高清视频| 成人在线视频区| 久久国产影院| 亚洲欧美久久久| 美女网站久久| 亚洲精品伊人| 国产精品久久久久久久久久齐齐| 国产精品a级| 国产日韩欧美三区| 91一区二区三区四区| 精品丝袜在线| 午夜在线精品偷拍| 亚洲深夜福利在线观看| 韩日一区二区| 色综合五月天| 午夜亚洲福利| 国产亚洲人成a在线v网站| 国产精品mm| 啪啪国产精品| 蜜乳av另类精品一区二区| 日韩中出av| 精品久久久中文字幕| 久久午夜精品| 日韩久久一区| 蜜臀久久99精品久久一区二区| 日本不卡一二三区黄网| 欧美一级一区| 黄色亚洲免费| 日本亚洲欧美天堂免费| 欧美国产不卡| 黄色国产精品| 久久爱www成人| 999久久久亚洲| 日本91福利区| 欧美片第1页| 青草综合视频| 欧美日韩一二三四| 日本a级不卡| 成人免费电影网址| 日韩1区2区3区| 激情综合网址| 欧美日韩伊人| 午夜久久黄色| 国产suv精品一区二区四区视频 | 国产欧美一区二区三区精品酒店| 香蕉精品999视频一区二区| 久久a爱视频| 蜜臀av国产精品久久久久| 水蜜桃久久夜色精品一区| 国产视频一区免费看| 久久免费黄色| 欧美日韩a区| 日韩午夜av| 国产精品成人一区二区网站软件| 在线综合视频| 久久久久一区| 国产精品极品在线观看| 久久www成人_看片免费不卡| 国产一区二区三区四区五区 | 日本在线不卡视频一二三区| 久久久久久免费视频| 久久久国产精品入口麻豆| 蜜臀久久久99精品久久久久久| 福利一区二区免费视频| 亚洲精品成a人ⅴ香蕉片| 欧美不卡在线| 日韩精品免费一区二区三区| 成人亚洲欧美| 日韩大片在线观看| 国产欧美日韩在线一区二区| 国产精品最新| 午夜一区在线| 欧美日韩激情在线一区二区三区| 都市激情国产精品| 国产黄色一区| 欧美日韩视频免费看| 日本成人精品| 亚洲视频二区| 噜噜噜久久亚洲精品国产品小说| 国产精品亚洲二区| 久久亚洲风情| 欧美精品激情| 视频二区不卡| 国产在线观看www| 日韩极品在线观看| 伊人成人在线视频| 激情黄产视频在线免费观看| 黄色免费成人| 自拍日韩欧美| 久久久一二三| 裤袜国产欧美精品一区| 国产精品99久久免费| 亚洲a成人v| 好吊视频一区二区三区四区| 99视频在线精品国自产拍免费观看| 久久精品色播| 国产欧美精品| 日韩国产在线不卡视频| 国产精品婷婷| 1024精品一区二区三区| 成人台湾亚洲精品一区二区| 欧美亚洲福利| 精品女同一区二区三区在线观看| 日本91福利区| 日韩1区2区3区| 色狠狠一区二区三区| 亚洲色图综合| 亚洲精选成人| 亚洲一二av| 亚洲丝袜啪啪| 亚洲精一区二区三区| 男人操女人的视频在线观看欧美| 婷婷激情综合| 91成人精品| 99pao成人国产永久免费视频 | 日韩视频一区二区三区在线播放免费观看| 日本а中文在线天堂| 男女激情视频一区| **爰片久久毛片| 婷婷精品在线| 日本中文字幕不卡| 日韩中文字幕一区二区三区| 久久电影一区| 视频在线观看一区二区三区| 狠狠色综合网| 亚洲一区二区三区四区五区午夜| 亚洲精品美女| 国产欧美三级| 精品精品国产三级a∨在线| 你懂的亚洲视频| 美女久久久精品| 日韩成人精品一区| 美女福利一区二区三区| 伊伊综合在线| 免费一区二区视频| 日韩国产一区二| 国产欧美日韩在线一区二区| 国产精品久久久久久久免费软件| 你懂的网址国产 欧美| 成人在线免费观看91| 都市激情国产精品| 国产伊人精品| 日本麻豆一区二区三区视频| 老鸭窝一区二区久久精品| 麻豆国产在线| 亚洲神马久久| 欧美日本不卡| 狠狠躁少妇一区二区三区| 亚洲国内精品| 91高清一区| 欧美精品影院| 麻豆中文一区二区| 成人午夜国产| 综合一区二区三区| 国产69精品久久| 中文无码日韩欧| 精品在线网站观看| 亚洲高清成人| 日本中文字幕一区二区视频| 开心激情综合| 91久久中文| 日本视频在线一区| 亚洲成人va| 日韩高清二区| 久久中文字幕二区| 久久国产生活片100| 麻豆久久久久久| 午夜电影亚洲| 精品一区二区三区免费看| 欧美日韩国产高清电影| 91精品国产自产在线丝袜啪| 9色精品在线| 久久精品毛片| 乱人伦精品视频在线观看| 国产精品亚洲片在线播放| 99久久久久久中文字幕一区| 97成人在线| 香蕉久久精品| 日韩深夜视频| 日本成人在线视频网站| 婷婷激情一区| 亚洲欧洲免费| 三级在线看中文字幕完整版| 97精品资源在线观看| 亚洲日本网址| 日韩毛片视频| 国产精一区二区| 不卡中文一二三区| 久久尤物视频| 日韩高清成人在线| 性色一区二区| 日韩一区欧美| 国产乱码精品一区二区三区亚洲人 | 最新日韩欧美| 国产精品精品| 国产精品一区二区精品视频观看 | 日本不卡视频在线观看|