前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >​客户端储存

​客户端储存

原创
作者头像
mySoul
发布2018-09-26 20:55:57
3.2K0
发布2018-09-26 20:55:57
举报
文章被收录于专栏:mySoulmySoul

客户端储存

由于http协议是无状态路的协议,其无法记住用户的状态,所以就有了客户端储存用来记录用户的状态。

同样的客户端储存也是遵守同源策略,所以不同站点的页面是无法读取对方储存的数据

有oatuh2.0 用来跨站登录的,即qq互联这种登录方式。用于进行登录的很大都是用时序图进行绘制的。

储存有两种方式,一种是web储存,为h5的标准,还有一种方式为cookie,为一种早期的储存方式。离线web应用,由于微信小程序等存在,国内用的灰常少,web数据库,早期的一个h5标准,后由于某些原因被废弃。这类api标准化以失败告终。文件系统api为一组api,为h5的标准。

储存。安全。和隐私,通常cookie除了保存用户的状态,还作为一种追踪机制,用于广告商,追踪用户喜好,进行广告的投放,以及用户分析。并且所有的客户端储存都不应该用来保存密码,商业账号,以及敏感的信息,

关于devtools

调试工具中能够查看当前网站的Storage以及cookie

包括webSQL 虽然这个计划流产了,╮(╯▽╰)╭

localStorage 和 sessionStorage

在window定义域上定义了两个属性,分别为localStroage以及essionStroage

这两个属性代表同一个Storage对象,

Storage为一个api接口,Storage提供了访问域名下的全部会话储存。或者本地储存。

该对象和一般的js对象没有什么区别。

写入一个值

代码语言:txt
复制
localStorage.username = "ming";

接着查看本地储存,可以发现已经储存了一个键值对。

为username = ming

此储存为临时储存,如果刷新页面,储存将会消失

同样的储存sessionStorage

代码语言:txt
复制
sessionStorage.username = "ming";

这个是持久化储存,即使刷新页面也不会消失,属于持久化的储存

如果储存对象,将会直接转为字符串,所以不能储存对象

例如储存一个数字

代码语言:txt
复制
localStorage.number = 2;
> 2
typeof localStorage.number;
> "string"
typeof localStorage.number + 0;
> "string0"
typeof parseInt(localStorage.number);
> "number"

使用parseInt将字符串转换为number

或者直接使用JSON也可,储存键值对很方便;

代码语言:txt
复制
localStorage.data = JSON.stringify(data);	// 进行编码储存
var data = JSON.parse(localStorage.data);	// 将其取出

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于devtools
  • localStorage 和 sessionStorage
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档