背景
Web套用的發展,使得客戶端存儲使用得也越來越多,而實現客戶端存儲的方式則是多種多樣。最簡單而且兼容性最佳的方案是Cookie,但是作為真正的客戶端存儲,Cookie則存在很多致命傷。此外,在IE6及以上版本中還可以使用user Data Behavior、在Firefox下可以使用global Storage、在有Flash外掛程式的環境中可以使用Flash Local Storage,但是這幾種方式都存在兼容性方面的局限性,因此真正使用起來並不理想。
針對以上情況,HTML5中給出了更加理想的解決方案:假如你需要存儲複雜的數據則可以使用Web Database,可以像客戶端程式一樣使用SQL(不過Web Database標準當前正陷於僵局之中,而且目前已經實現的瀏覽器很有限);假如你需要存儲的只是簡單的用key/value對即可解決的數據則可以使用Web Storage。
優勢
存儲空間
存儲空間 更大:IE8下每個獨立的存儲空間為10M,其他瀏覽器實現略有不同,但都比Cookie要大很多。
伺服器
存儲內容不會傳送到伺服器:當設定了Cookie後,Cookie的內容會隨著請求一併傳送的伺服器,這對於本地存儲的數據是一種頻寬浪費。而Web Storage中的數據則僅僅是存在本地,不會與伺服器發生任何互動。
接口
更多豐富易用的接口:Web Storage提供了一套更為豐富的接口,使得數據操作更為簡便。
存儲空間
獨立的存儲空間:每個域(包括子域)有獨立的存儲空間,各個存儲空間是完全獨立的,因此不會造成數據混亂。