HTML5引入了两种机制,类似于HTTP的会话cookies,用于在客户端存储结构化数据以及克服以下缺点。
每个HTTP请求中都包含Cookies,从而导致传输相同的数据减缓我们的 Web 应用程序。
每个HTTP请求中都包含Cookies,从而导致发送未加密的数据到互联网上。
Cookies 只能存储有限的 4KB 数据,不足以存储所需的数据。
这两种存储方式是session storage和local storage,它们将用于处理不同的情况。
几乎所有最新版的浏览器都支持HTML5存储,包括IE 浏览器。
会话存储
_会话存储_被设计用于用户执行单一事务的场景,但是同时可以在不同的窗口中执行多个事务。
示例
比如,如果用户在同一网站的两个不同的窗口中购买机票。如果该网站使用 cookie 跟踪用户购买的机票,当用户在窗口中点击页面时,从一个窗口到另一个时当前已经购买的机票会“泄漏”,这可能导致用户购买同一航班的两张机票而没有注意到。
HTML5引入了sessionStorage属性,这个网站可以用来把数据添加到会话存储中,用户仍然可以在打开的持有该会话的窗口中访问同一站点的任意页面,当关闭窗口时,会话也会丢失。
下面的代码将会设置一个会话变量,然后访问该变量:
删除 Web 存储
在本地机器上存储敏感数据可能是危险的,可能会留下安全隐患。
_会话存储数据_在会话终止之后将由浏览器立即删除。
要清除本地存储设置需要调用localStorage.remove('key');这个 'key' 就是我们想要移除的值对应的键。如果想要清除所有设置,需要调用localStorage.clear()方法。
下面的代码会完全清除本地存储:
领取专属 10元无门槛券
私享最新 技术干货