本地存储的几种常见方式

Z, ZLW 1141

本地存储的3种常见方式:1、cookie;2、localStorage;3、sessionStorage。cookie是服务器”种植在客户端的key-value形式文本文件。localStorage也是采用key-value的形式存储数据。sessionStorage并不持久化,在窗口关闭那一刻,sessionStorage会被清除

1、cookie

cookie算是比较早的技术,最初是为了记录http的状态,提高访问速度。cookie是服务器”种植在客户端的key-value形式文本文件。但同时客户端也能操作cookie。特点:
大小:cookie的大小限制在4k。每个域名下cookie的个数现在在20个。
在客户端请求服务器端和服务器响应时,cookie始终被携带在http请求中,即使不需要(造成流量浪费)。这也是限制cookie大小的原因。客户端可以通过document.cookie操作cookie,并不安全。
cookic可以设查时期时白、路品、域和hipOnly等字院。如果设置了过期时间,cookic会保存在硬盘里,知道到了设定的过期时间才会失效。着未设置过期时间,在浏览器窗口关闭时,cookie就失效了,路径和域两个字段限制了cookie的作用范围。

2、localStorage

它也是采用key-value的形式存储数据,但是它与cookie有很大的区别特点:
对比着来,localStorage能保存更大的数据,标准浏览器是5Mb。
localStorage保存在客户端,不随着请求发送给服务器,避免了流量的浪费。客户端可以通过:setltemgetltem方法访问localStorage。
并目,localStoraqe没有过期时间,如果不手动清除,数据就永远不会过期,一直保存在浏贤暴当中。存储的信息在同一域中是共享的。
//key,value都必须是字符串,storage的api只能操作字符串//设置
window.sessionStorage.setitem(keyvalue)//获取
window.sessionStoragegetltem(key)1/删除某个数据
window.sessionStorageremoveltem(key)//清除所有数据
window.sessionStorage.clear()//获取某个索引的key
window.sessionStorage.key(index)

3、sessionStorage

特点:
与localStorage不同的是,sessionStorage并不持久化,在窗口关闭那一刻,sessionStorage会被清除。存储的信息是会话级别的,同域也是不能共享的。关闭当前标签页,sessionStorage即失效。
//存储
sessionStorage.setltem(“key,”value)//按key获取值
sessionStoragegetltem(key)//按key删除单个值
sessionStorage.removeltemskey)//清除所有数据
sessionStorage.clear//获取数据的数量
sessionStorage.length//获取全部值
sessionStorage.valueOf)
//sessionStorage也可存储Json对象:存储时,通过JSONstringify()将对象转换为文本格式:读取时,通过JSON.parse()将文本转换回对象。 var userEntity={ name:’tom’, age: 22};
//存储值:将对象转换为Json字符串
sessionStoragesetltem(userJSONstringify(userEntity)):
//取值时:把获取到的Json字符串转换回对象
varuserJsonStr=sessionStoragegetitem(user): userEntity=JSON.parse(userJsonStr); console.log(userEntityname);//=>tom

浏览器本地存储统称为webStorage,包括了localStorage和sessionStorage

回复

我来回复
  • 暂无回复内容

站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部