本地存储小结

cookie

cookie的来源是http协议是无状态的协议,因此发明了cookie用作保存状态的额外手段,主要用于判断用户是否登录以及保存登录信息。它有单个特色:
(1)一般由服务器端生成,存储在客户端,能够设置失效时间(max-age属性,以前是expire)
(2)每次请求都会附带cookie一块儿被传送
(3)容量很是小,被限制在4kb左右。第二个特色很好解释了为何容量被限制地这么小程序员

SessionStorage和LocalStorage是HTML5的新特性,统称为web storage,能够容许浏览器在用户本地存储数据,但不能像cookie那样参与和服务器端的通讯,所以它们俩的容量也比较大,都是5M。web

LocalStorage

LocalStorage对象存储的是没有截止日期的数据,当浏览器被关闭时数据也不会被删除,除非用户主动删除,不然这些数据是一直可用的浏览器

SessionStorage

SessionStorage直译过来是会话存储,顾名思义,其数据有效期仅限于同一个会话期间,也就说关闭一个具体的浏览器标签页,该页下的存储与SessionStorage就会被删除服务器

三者的区别

区别:(1)容量的区别,cookie只有4kb,而web storage有5M
(2)有效期的区别,cookie能够设置过时时间,SessionStorage在一个回话期间有效,页面关闭后就失效了,LocalStorage永久有效。
(3)cookie每次都会被附加在http头中,参与客户端与服务器的通讯,而web Storage只能用于本地存储,不能用于通讯。
(4)易用性有区别,程序员须要本身封装操做cookie的函数,较为麻烦,而LocalStorage和SessionStorage有不少已经封装好的函数,好比setItem(),getItem(),removeItem()等等,也能够再次封装以便对Array和Object有更好的支持。cookie

应用

web storage是为了更大的存储容量设计的,cookie主要是用于客户端和服务器端通讯的。 曾经还使用 Cookie 来保存用户在电商网站的购物车信息,但有了 localStorage,彷佛在这个方面也能够给 Cookie 放个假了~
web storage也能胜任其余一些工做。好比HTML5游戏一般会产生一些本地数据,localStorage 也是很是适用的。
若是遇到一些内容特别多的表单,为了优化用户体验,可能要把表单页面拆分红多个子页面,而后按步骤引导用户填写。这时候 sessionStorage 的做用就发挥出来了。session

相关文章
相关标签/搜索