成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

2021年了,你該選擇哪個瀏覽器存儲選項?

存儲
現代網絡瀏覽器為網絡應用提供多種存儲選項。每個存儲選項都不一樣,有各自的屬性和應用。然而,若要根據自身需求選擇合適的存儲選項,需要對它們的屬性和限制有充分的理解。本文將探究5個瀏覽器儲存選項以及它們的狀況,幫助你找到最適合你需求的那個。

本文轉載自公眾號“讀芯術”(ID:AI_Discovery)

[[378002]]

現代網絡瀏覽器為網絡應用提供多種存儲選項。每個存儲選項都不一樣,有各自的屬性和應用。然而,若要根據自身需求選擇合適的存儲選項,需要對它們的屬性和限制有充分的理解。本文將探究5個瀏覽器儲存選項以及它們的狀況,幫助你找到最適合你需求的那個。

快速瀏覽一下Chrome開發者工具,會發現以下幾種瀏覽器存儲類型:

  • Local Storage
  • Session Storage
  • IndexedDB
  • Web SQL
  • Cookies

讓我們來詳細了解一下每個存儲選項及其特定屬性。

1.Local Storage

Local Storage是比較廣泛使用的一種存儲方式,因為簡單。這種存儲方式允許存儲序列化為字符串的鍵值對。你可以在Local Storage上執行以下操作:

  • setItem() — save key-value
  • getItem() — get key-value
  • removeItem() — remove key-value
  • clear() — clear all key-values
  • key() — retrieve number nth key-value

要將Local Storage中的值設置為數組、對象等,需要使用JSON.stringify將值轉換為字符串。檢索時,JSON.parse將該項重新構造回JSON。

  1. //set key-value pair at local storage as a string 
  2. localStorage.setItem('session', JSON.stringify({'id': 5, 'timeout' :500000}));//get value as an object 
  3. var sessionItem = JSON.parse(localStorage.getItem('session')); 

主要亮點:

  • Local Storage在同一來源的所有選項卡和窗口之間共享。
  • 數據不會過期。
  • 支持存儲事件。

存儲事件是由Local Storage和Session Storage支持的一項功能,它只觸發其他選項卡(不包括觸發它的選項卡)和iFrames中的事件偵聽器。讓我們仔細看看存儲事件:

 

  1. //Firing storage event by addEventListener 
  2. window.addEventListener('storage', () => { 
  3.  console.log(window.localStorage.getItem('id')); 
  4. }); 

 

2.SessionStorage

Session Storage與Local Storage類似,唯一的區別是session storage里的數據可以持續到關閉瀏覽器選項卡。因此,Session Storage已經擴展到應用程序源和瀏覽器選項卡。

我很好奇存儲事件是如何與Session Storage協作的。即使有存儲事件,瀏覽器選項卡隔離仍然存在。對于Session Storage,存儲事件只能通過同一選項卡中的iFrames進行訪問。

此外,無論是Local Storage還是Session Storage,訪問都是同步的,你的JavaScript代碼將在訪問這些存儲時一直等到接收到數據。

3.IndexedDB

與上述存儲選項相比,IndexedDB與典型的NoSQL數據庫更相近。在處理復雜的、難以序列化的JavaScript對象時,可以考慮IndexedDB。IndexedDB還支持事務,同時與Web Workers協作良好。

舉個例子,Twitter使用帶有三個表的IndexedDB保存數據。你可以在數組中查找最近的搜索,以提高可用性。

 

2021年了,你該選擇哪個瀏覽器存儲選項?

 

主要亮點:

  • 可以存儲任何JavaScript類型的數據作為鍵值對,如對象(blob,file)或數組等。
  • IndexedDB API是異步的,因此在請求完成時,它會返回一個回調。
  • 可以存儲結構化數據,如日歷數據。

4.Web SQL(不推薦)

最近,W3C宣布不推薦使用WebSQL規范,更好的選擇是高效的indexedDB。Web SQL是遵循SQLite規范的存儲。谷歌瀏覽器、Opera和安卓瀏覽器都支持這個API(注意:火狐瀏覽器不支持Web SQL)。

Web SQL中有三種方法,

  • openDatabase()——使用現有數據庫創建數據庫或創建新數據庫。
  • transaction ()—控制事務(提交或回滾)。
  • executeSql()—可以執行真實的Sql查詢。

 

  1. var db =openDatabase(‘testDB’, ‘1.0’, ‘Test DB’, 3* 1024 * 1024);  
  2. db.transaction(function (tr) {  
  3.  tr.executeSql(‘CREATE TABLE IF NOTEXISTS TestTable (id unique, data)’);  
  4.  tr.executeSql(‘INSERT INTO TestTable(id, data) VALUES (1, “itemOne”)’);  
  5.  tr.executeSql(‘INSERT INTO TestTable(id, data) VALUES (2, “itemTwo”)’);  
  6. }); 

 

 

2021年了,你該選擇哪個瀏覽器存儲選項?

 

主要亮點:

  • 與其他存儲選項不同,你可以使用SQL查詢與數據庫進行交互。
  • 對于任何熟悉SQLite的人來說,學習空間很小甚至是沒有。

5.Cookies

Cookies是唯一一個也與服務器共享的瀏覽器存儲選項。兩類Cookies分別是:

  • 服務器端Cookie(僅僅適用于HTTP的Cookie)——由服務器設置的變量,存儲在瀏覽器中。用于存儲應用程序狀態。無法通過JavaScript訪問。
  • 客戶端Cookie——與服務器端Cookie類似,但是可以通過JavaScript訪問。

 

  1. //Initialize a cookie 
  2. document.cookie = “username=Charuka Herath; expires=Thu, 31 Dec 2020 12:00:00UTC; path=/”;//Read a cookie 
  3. var cookie= document.cookie;//Remove cookie (Set expiration date to a pastdate) 
  4. document.cookie = "username=; expires=Thu, 31 Dec 2019 12:00:00 UTC;path=/"

 

值得注意的是,對于每個請求,瀏覽器都會向服務器返回Cookies。因此,需要將它們最小化,以減少開銷。

主要亮點:

  • 高效地恢復會話、頁面細節、網頁線程。
  • Cookies會持續存在。因此,數據可以保存在瀏覽器中,直到它們被清除。
  • 可以根據特定用戶的偏好進行管理并提供個性化內容。
  • 支持帶通配符的跨來源。

 

2021年了,你該選擇哪個瀏覽器存儲選項?

 

就安全性而言,這些存儲選項不是為了存儲敏感數據而設計的。但是,在Local Storage(由受歡迎的JavaScript庫支持,這些庫是開放的,可以進行解釋)中存儲身份驗證令牌(OpenID令牌)的趨勢越來越明顯。Cookie在保留會話標識符方面有一個例外,這是專門為其存儲而設計的。

此外,需要注意的是,Safari中的私人瀏覽(匿名)不允許用戶訪問Local Storage或Session Storage。因此,如果你繼續使用這些存儲選項,處理錯誤情況并向用戶顯示相關消息是非常重要的。

選擇存儲選項時,如果只需存儲簡單的鍵值對,Local Storage是不錯的選擇。如果你計劃對瀏覽器選項卡確定稍微好一點的安全范圍,可以選擇Session Storage。在選擇這兩個選項之前,請記住存儲限制。

對于任何高級存儲需求,你都可以使用IndexedDB,這是一種更好的數據庫解決方案。

 

責任編輯:華軒 來源: 讀芯術
相關推薦

2011-02-21 14:35:13

瀏覽器Chrome火狐

2019-07-02 15:10:58

瀏覽器Chrome移動端

2020-02-25 13:11:54

Edge瀏覽器

2020-11-17 08:07:29

存儲類型瀏覽器

2022-01-26 10:26:57

ChromeBrave網頁瀏覽器

2020-05-15 14:30:23

前端瀏覽器架構

2016-06-02 13:22:12

LinuxWeb瀏覽器

2022-01-25 19:36:46

ChromeBrave瀏覽器

2011-07-11 14:12:15

瀏覽器

2025-01-03 08:00:00

2021-03-15 08:20:15

微軟Edge瀏覽器

2021-01-30 07:50:08

Edge微軟瀏覽器

2021-04-17 18:19:23

FlutterReact Nativ開發

2022-02-09 10:03:22

VivaldiBrave瀏覽器

2022-05-18 07:32:00

瀏覽器IE系統

2021-08-28 06:15:49

瀏覽器手機瀏覽器夸克

2012-09-06 10:05:03

Windows 8瀏覽器

2014-06-23 13:38:18

遨游瀏覽器

2021-03-08 05:42:26

瀏覽器FirefoxVIA瀏覽器

2020-10-22 19:37:28

360瀏覽器瀏覽器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人精品一区二区 | 国产欧美精品一区二区 | 国产美女在线观看 | 国产欧美精品一区二区 | 国产在线一区二 | 精品日韩一区二区 | 成人免费淫片aa视频免费 | 久草福利 | 韩日av在线 | 最新国产精品视频 | 在线伊人| 麻豆久久久久久久 | 亚洲精品一区二区三区四区高清 | 欧美一区二区三区在线视频 | 国产ts人妖一区二区三区 | 亚洲精品久久久一区二区三区 | 久久这里只有精品首页 | 成人免费网站www网站高清 | 国产无人区一区二区三区 | 国产成人在线播放 | 精品99久久久久久 | 成人av一区二区三区 | 久久久免费| 青青久久 | 亚洲欧美中文字幕在线观看 | 精久久久 | 成人乱人乱一区二区三区软件 | 精品国产一区探花在线观看 | 日韩在线免费视频 | 日韩中文字幕一区二区 | 久草热播 | 日本三级网址 | 久久成人精品一区二区三区 | 美女视频一区 | 国产日韩欧美一区 | 亚洲视频在线一区 | 国产美女精品视频 | 欧美精品99| 国产99精品 | 国产91久久久久久久免费 | 国产精品久久久亚洲 |