常見的瀏覽器端的存儲技術

在客戶端(瀏覽器端)存儲數據有諸多益處,最主要的一點是能快速訪問(網頁)數據。(以往)在客戶端有五種數據存儲方法,而目前就只有四種經常使用方法了(其中一種被廢棄了):chrome

  • Cookies
  • Local Storage
  • Session Storage
  • IndexedDB
  • WebSQL (被廢棄)

我在查閱資料的時候還發現其餘4種數據庫

  • userData
  • GlobalStorage
  • Flash ShareObject
  • GoogleGear

下面總結一下這些存儲技術的優缺點瀏覽器

一、Cookies安全

cookie會隨着每次HTTP請求頭信息一塊兒發送,無形中增長了網絡流量,另外,cookie能存儲的數據容量有限,根據瀏覽器類型不一樣而不一樣,IE6大約只能存儲2K。cookie

優勢網絡

  • 能用於和服務端通訊
  • 當 cookie 快要自動過時時,咱們能夠從新設置而不是刪除

缺點session

  • 增長了文檔傳輸的負載
  • 只能存儲少許的數據
  • 只能存儲字符串
  • 潛在的 安全問題
  • 自從有 Web Storage API (Local and Session Storage),cookies 就再也不被推薦用於存儲數據了

二、Flash ShareObjectspa

     這種方式能能解決上面提到的cookie存儲的兩個弊端,並且可以跨瀏覽器,應該說是目前最好的本地存儲方案。不過,須要在頁面中插入一個Flash,當瀏覽器沒有安裝Flash控件時就不能用了。所幸的是,沒有安裝Flash的用戶極少。插件

缺點 :須要安裝Flash插件。對象

三、Google Gear

Google開發出的一種本地存儲技術。

缺點:須要安裝Gear組件。

四、userData

IE瀏覽器可使用userData來存儲數據,容量可達到640K,這種方案是很可靠的,不須要安裝額外的插件。

缺點:它僅在IE下有效。

五、localStorage

localStorage是Web Storage互聯網存儲規範中的一部分,如今在Firefox 3.五、Safari 4和IE8中獲得支持。

缺點:低版本瀏覽器不支持。

六、sessionStorage

使用於Firefox2+的火狐瀏覽器,用這種方式存儲的數據僅窗口級別有效,同一個Tab頁面刷新或者跳轉,都能獲取到本地存儲的數據,當新開窗口或者頁面時,原來的數據就失效了。

缺點:IE不支持、不能實現數據的持久保存

七、globalStorage

使用於Firefox2+的火狐瀏覽器,相似於IE的userData。

缺點:僅在Firefox2+有效。

八、IndexedDB

IndexedDB 是一種更復雜和全面地客戶端數據存儲方案,它是基於 JavaScript、面向對象的和數據庫的,能很是容易地存儲數據和檢索已經創建關鍵字索引的數據。

IndexedDB 的優勢

  • 可以處理更復雜和結構化的數據
  • 每一個’database’中能夠有多個’databases’和’tables’
  • 更大的存儲空間
  • 對其有更多的交互控制

IndexedDB 的缺點

  • 比 Web Storage API 更難於應用

總結:Flash shareobject是不錯的選擇,若是你不想在頁面上嵌入Flash,能夠結合使用

userData(IE6+)和globalStorage(Firefox2+)和localStorage(chrome3+)實現跨瀏覽器。

相關文章
相關標籤/搜索