瀏覽器本地存儲javascript
- 在較高版本的瀏覽器中,js提供了sessionStorage和globalStorage。在HTML5中提供了localStorage來取代globalStorage
- html5中的Web Storage包括了兩種存儲方式:sessionStorage和localStorage
- sessionStorage用於本地存儲一個會話(session)中的數據,這些數據只有在同一個會話中的頁面才能訪問而且當會話結束後數據也隨之銷燬。所以sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲
- 而localStorage用於持久化的本地存儲,除非主動刪除數據,不然數據是永遠不會過時的
web storage和cookie的區別html
- Web Storage的概念和cookie類似,區別是它是爲了更大容量存儲設計的。Cookie的大小是受限的,而且每次你請求一個新的頁面的時候Cookie都會被髮送過去,這樣無形中浪費了帶寬,另外cookie還須要指定做用域,不能夠跨域調用
- 除此以外,WebStorage擁有setItem,getItem,removeItem,clear等方法,不像cookie須要前端開發者本身封裝setCookie,getCookie
- 可是cookie也是不能夠或缺的:cookie的做用是與服務器進行交互,做爲HTTP規範的一部分而存在 ,而Web Storage僅僅是爲了在本地「存儲」數據而生
- 瀏覽器的支持除了IE7及如下不支持外,其餘標準瀏覽器都徹底支持(ie及FF需在web服務器裏運行),值得一提的是IE老是辦好事,例如IE七、IE6中的userData其實就是javascript本地存儲的解決方案。經過簡單的代碼封裝能夠統一到全部的瀏覽器都支持web storage
- localStorage和sessionStorage都具備相同的操做方法,例如setItem、getItem和removeItem等
cookie 和session 的區別:前端
描述 cookies、sessionStorage 和 localStorage 的區別?跨域
與服務器交互:瀏覽器
-
- cookie 是網站爲了標示用戶身份而儲存在用戶本地終端上的數據(一般通過加密)
- cookie 始終會在同源 http 請求頭中攜帶(即便不須要),在瀏覽器和服務器間來回傳遞
- sessionStorage 和 localStorage 不會自動把數據發給服務器,僅在本地保存
-
存儲大小:安全
- cookie 數據根據不一樣瀏覽器限制,大小通常不能超過 4k
- sessionStorage 和 localStorage 雖然也有存儲大小的限制,但比cookie大得多,能夠達到5M或更大
-
有期時間:服務器
- localStorage 存儲持久數據,瀏覽器關閉後數據不丟失除非主動刪除數據
- sessionStorage 數據在當前瀏覽器窗口關閉後自動刪除
- cookie 設置的cookie過時時間以前一直有效,與瀏覽器是否關閉無關