瀏覽器端常用的存儲技術(shù)是 cookie 、localStorage 和 sessionStorage。cookie: 其實最開始是服務(wù)器端用于記錄用戶狀態(tài)的一種方式,由服務(wù)器設(shè)置,在客戶端存儲,然后每次發(fā)起同源請求時,發(fā)送給服務(wù)器端。cookie 最多能存儲 4 k 數(shù)據(jù),它的生存時間由 expires 屬性指定,并且 cookie 只能被同源的頁面訪問共享。
sessionStorage: html5 提供的一種瀏覽器本地存儲的方法,它借鑒了服務(wù)器端 session 的概念,代表的是一次會話中所保存的數(shù)據(jù)。它一般能夠存儲 5M 或者更大的數(shù)據(jù),它在當(dāng)前窗口關(guān)閉后就失效了,并且 sessionStorage 只能被同一個窗口的同源頁面所訪問共享。
localStorage: html5 提供的一種瀏覽器本地存儲的方法,它一般也能夠存儲 5M 或者更大的數(shù)據(jù)。它和 sessionStorage 不同的是,除非手動刪除它,否則它不會失效,并且 localStorage 也只能被同源頁面所訪問共享。上面幾種方式都是存儲少量數(shù)據(jù)的時候的存儲方式,當(dāng)需要在本地存儲大量數(shù)據(jù)的時候,我們可以使用瀏覽器的 indexDB 這是瀏覽器提供的一種本地的數(shù)據(jù)庫存儲機制。它不是關(guān)系型數(shù)據(jù)庫,它內(nèi)部采用對象倉庫的形式存儲數(shù)據(jù),它更接近 NoSQL 數(shù)據(jù)庫。