Web客户端的几种存储方式

一、Cookie存储

在H5之前,Cookie是主要的存储方式。他的主要用途是保存登录信息,可以设置存储的有效期。

存储在浏览器中,每次浏览器向服务器发送请求都需要携带cookie,一般情况下,cookie是产生于服务器端,保存于客户端,但是我们也可以通过js来产生cookie。

通常通过js-cookie这个库来操作cookie

<script src="https://cdn.bootcdn.net/ajax/libs/js-cookie/latest/js.cookie.js"></script>

 Cookie方法:

<script>
  //创建一个cookie,7天后过期
  Cookies.set("name","terry",{ expires: 7 }) 
  //获取cookie
  console.log(Cookie.get('name'));
  //移除cookie
  Cookies.remove('name');
</script>

只针对于服务器,同一个服务器可以共享cookie。存储少量数据,面向服务器的,最大4kb

eg:例如创建了3个cookie,分别用相同的本地浏览器打开,它们都存储在一个浏览器的cookie中,并能同时访问到。

<script>
        Cookies.set('name', 'terry', { expires: 7 })
        console.log(Cookies.get('name'));
</script>
<script>
        Cookies.set('age', '12', { expires: 7 })
        console.log(Cookies.get('age'));
</script>
<script>
        Cookies.set('gender', 'male', { expires: 7 })
        console.log(Cookies.get('gender'));
</script>

 浏览器Cookie存储如下图:

二、HTML5 web存储(webStorage)

   1、sessionStorage存储

会话存储,它的特点如下:

    1、页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话。

    2、打开多个相同的URL的Tabs页面,会创建各自的sessionStorage。

   3、 关闭对应浏览器tab,会清除对应的sessionStorage。

    sessionStorage方法:

// 设置内容
sessionStorage.setItem('name','terry');

// 获取内容
sessionStorage.getItem('name');

// 删除所有数据
sessionStorage.clear();

// 删除单个数据
sessionStorage.removeItem('name');

//获取数据长度
sessionStorage.length;

//得到某个索引的key
sessionStorage.key(index);

eg:创建3个数据

<script> 
var str = "tom";
sessionStorage.setItem("str1", str);
var str = "terry";
sessionStorage.setItem("str2", str);
var str = "mark";
sessionStorage.setItem("str3", str);
</script>

浏览器sessionStorage存储如下图:

    2、localStorage存储

     本地存储,存到本地磁盘中,即使浏览器关闭数据依然在。

      localStorage、sessionStorage的方法相同。

// 设置内容
localStorage.setItem('name','terry');

// 获取内容
localStorage.getItem('name');

// 删除所有数据
localStorage.clear();

// 删除单个数据
localStorage.removeItem('name');

//获取数据长度
localStorage.length;

//得到某个索引的key
localStorage.key(index);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值