在HTML5中,新加入了一个localStorage的特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4K),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。
localStorage的优势:
1、localStorage拓展了cookie的4K限制
2、localStorage会将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对前端页面的数据库,相比于cookie可 以节约带宽,但是这个却是只能在高版本的浏览器中得到支持。
localStorage的局限:
1、需要得到高版本浏览器支持,如IE8以上
2、目前所有的浏览器中都会把localStorage(对象)的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换
3、localStorage在浏览器的隐私模式下是不可读取的
4、localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡
5、localStorage不能被爬虫抓取到
注意:localStorage与sessionStorage的唯一一点区别就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空,都是本地存储
操作存储的方法:
getItem、setItem、removeItem、clear、keys
cookie:
JavaScript可以通过document.cookie属性来创建,读取,删除cookie,并以字符串的方式返回所有的cookies,类型格式:cookie1=value1;cookie2=value2;cookie3=value3
session:
在服务器端生成session后,session会被存储在服务器内存中,
每一块session都被以sessionId唯一标识,sessionId是一串由32位数字和字母组成的code。
session块之间无法互相访问。
在服务器返回给客户端时,sessionId会随response返回到浏览器的cookie中。
客户端下次向服务器发送请求时,会将sessionid作为cookie的一部分附带在request中。
服务器根据request中的sessionid找打对应的session,执行后续业务操作。