理论:本地储存

来源:互联网 发布:阿里云服务器外网ip 编辑:程序博客网 时间:2024/06/07 03:35

一般我们在项目中经常使用的本地储存技术主要有两种。

Cookie

cookie的应用:

  1. 判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续;
  2. “购物车”之类的应用场合;

cookie的具体应用:

  1. 用户可能会在一个时间段内在同一家网站的不同页面中选取不同的商品,这些信息都会写入cookie,以便在最后付款时提取信息;
  2. cookie生成时就会被指定一个Expire值,这就是cookie的生存周期,在周期内cookie有效,超出cookie就会被清除;
  3. 有些页面将cookie的Expire生存周期设置为“0”或负值,这样关闭浏览器时,就马上清除cookie,不会记录用户信息;

cookie的缺点:

  1. 大小受到限制。大多数浏览器对cookie的大小有4096字节的限制,而新版本的浏览器和客户端设备也只能8192字节大小;
  2. 用户配置禁用。有些用户禁用了浏览器和客户端设备接收cookie的能力;
  3. 潜在的安全风险。cookie可能会被篡改,用户可能会操作计算机上的cookie,这意味着会对安全性造成潜在风险或导致依赖于cookie的应用程序失败。另外,虽然cookie只能被将它们发送到客户端的域访问,历史上黑客已经发现从用户计算机上的其他域访问cookie的方法。当然,我们可以手动加密和解密*cookie,但这需要额外的代码,会消耗*一定的时间而影响应用程序的性能;

H5的localstorage

localstorage的应用:

  1. 是H5的主流技术,同样可以实现cookie的一些功能;
  2. 越来越多的项目,特别是移动端都采用localstorage来实现储存;
  3. H5的本地储存技术,还有一个sessionstorage(下文会进行比较);

localstorage的相对优点:

  1. 大小最小为5M,可以申请更大的空间,相对于cookie大了很多;
  2. 不会随着HTTP请求发送给服务器

H5两种本地储存的主要区别:

  1. localstorage为永久性保存数据,不会随着浏览器的关闭而消失,可以在同域名跨页面访问
  2. sessionstorage为临时性保存数据,当页面关闭就会消失,不能跨页面访问,也不会触发跨标签页的storage事件,只局限于当前的标签页
0 0
原创粉丝点击