浏览器存储
1.cookie会话跟踪技术,可以辨别身份,进行session跟踪而存储在用户本地终端上的数据,访问服务器的时候需要带上cookie,但不要使用过量,这样会增加请求包的体积
- (1)访问限制性:如果把顶级域名设置成cookie访问域名,那么可以实现多个子域名共享cookie的效果,也可以给cookie加域名限制,如用户唯一标识信息,加上httponly,那么客户端就是只读,无法写入加入标识的cookie字段
- (2)存储时长:可以手动设置有效期,过了有效期浏览器自动清除,如果没有设定,那么cookie就是session级别的,在未关闭浏览器之前,所有tab级的页面刷新或者新开,均属于一个session,只有退出浏览器,cookie就会失效
- (3)一般不在cookie里面存储数据,如果必须要存的话,存储一些访问页面必须要携带到服务器端的信息总之越少越好
2.短暂的sessionStorage webstorage的一种,存储键值对的数据,
- (1)访问限制性 不同于cookie,限制性更高,在本窗口刷新可以访问sessionStorage,在新开的tab下,或者关闭本TAB再打开后(也是www.qq.com),也是无法访问到之前种的sessionStorage的
- (2)议存储一些当前页面刷新需要存储,且不需要在tab关闭时候留下的信息。刚刚说了,只有页面刷新才不会清除掉sessionStorage。剩下的均会清理掉sessionStorage
3.localStorage localStorage与sessionStorage虽然相似,但是访问限制却不尽相同,localStorage的访问域默认设定为设置localStorage的当前域,其他域名不可以取。这点与sessionStorage相同,但是与sessionStorage不同的是,localStorage设定后,新开tab是可以访问到的
存储时长如果用户不自动清除的话,是永久存储,大小一般在4M左右,一般用来存储一些用户信息
- 4.websql(关系型数据库)和indexeddb(nosql) websql官方不在维护,转向indexeddb,但是websql的兼容性很好吗,indexeddb的兼容性却不是很好,android4.4之前以及ios7以前都无法使用 indexeddb和websql在这一点上与localStorage一致,均是在创建数据库的域名下才能访问。而且不能指定访问域名。除非用户清除,那么就是永久,大小一般是不限制的,超过50M浏览器会提示
性能也是蛮快的,做离线应用,需要在本地存储用户皮肤,大量数据信息,或者驾校的考试题等等
