珠峰node培训之webstorage使用

作者:日期:2016-06-24 21:04:45 点击:112

1. cookie的缺陷

  1. 数据大小:cookie的大小限制在4KB左右
  2. 安全性问题:由于在HTTP请求中的cookie是明文传递的带来的安全性问题。
  3. 网络负担:我们知道cookie会被附加在每个HTTP请求中,在请求和响应的header中都是要被传输的,所以会消耗额外的网络流量。

2. WebStorge

WebStorage是HTML新增的本地存储解决方案之一,但并不是为了取代cookie而制定的标准,cookie作为HTTP协议的一部分用来处理客户端和服务器通信是不可或缺的,session正是依赖于实现的客户端状态保持。WebStorage的意图在于解决本来不应该cookie做,却不得不用cookie的本地存储。

2.1 localStorage

用于持久化的本地存储,浏览器窗口关闭后,localStorage存储的数据仍然可以被访问。所有浏览器窗口可以共享localStorage的数据,保存的数据永远不会过期,只能手动删除。

2.2 sessionStorage

用于本地存储一个会话中的数据,它不是一种持久化的本地存储。这些数据只有在同一个会话中的页面才能访问,当前页面不可以访问新开页面的数据,并且会话结束后数据也随之销毁而无法使用。

3. 用法

方法 描述
getItem(key) 获取指定key本地存储的值
setItem(key, value) 将value值存储到本地的key字段
removeItem(key) 删除指定key本地存储的值
clear() 删除localStorage中存储的所有数据
length 获取存储的键值对的数量
key(index) 根据索引获取一个指定位置的键名

3.1 localStorage

localStorage 方法存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用

3.1.1 如何创建和访问 localStorage:

    localStorage.lastname="Smith";          document.write(localStorage.lastname); 

3.1.2 对用户访问页面的次数进行计数

if (localStorage.pagecount)   {    localStorage.pagecount=Number(localStorage.pagecount) +1;    } else   {    localStorage.pagecount=1;    }  document.write("Visits "+ localStorage.pagecount + " time(s).");  

3.2 sessionStorage 方法

sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。

3.2.1 创建并访问一个 sessionStorage

sessionStorage.lastname="Smith";  document.write(sessionStorage.lastname); 

3.2.2 对用户在当前 session 中访问页面的次数进行计数

if (sessionStorage.pagecount)   {    sessionStorage.pagecount=Number(sessionStorage.pagecount) +1;    } else   {    sessionStorage.pagecount=1;   }  document.write("Visits "+sessionStorage.pagecount+" time(s) this session.");      

 

珠峰node培训之cookie篇

珠峰node培训之session篇

上一篇: node入门(四) express快速开发框架

下一篇: 珠峰node培训之ECMAScript6学习