常用的前端缓存
2021-08-08 本文已影响0人
Zhou_qn
1.cookie
cookie是浏览器提供的一种机制,是存储于用户硬盘的文本文件中。cookie可以跨越一个域名下的多个网页,但不能跨域访问。
-
cookie的局限性:【cookie的缺点集中于安全性和隐私保护】
- cookie可能会被禁用。当用户非常注重个人隐私的时候,很有可能禁用浏览器的cookie功能
- cookie是与浏览器有关。不能跨浏览器访问
- cookie可能被删除。cookie是存放在硬盘上的文件,很有可能会被用户删除。
- cookie的安全性不高。所有的cookie都是以纯文本的形式记录于文件中,因此如果要保存用户名和密码等信息时,最好先进性加密处理。
- 存储大小限制,存储空间4-10KB左右
2.session
session是服务器端的机制,把信息是存放在服务器端的。是通过sessionId来识别客户端,sessionId是存放在cookie中的。
session相比于cookie安全性更高一些,信息都是存放在服务器,一般处于安全考虑会把比较隐私的信息存放在cookie中
-
session的局限性:
- session的使用依赖cookie,要在cookie中存储sessionId
- 过度使用session变量将会导致代码不可读而且不好维护
3.localStorage
localStorage是在html5中新增的特性,这个特性主要是作为本地存储使用的,一旦保存于localStorage中就要手动清除。localStorage解决了cookie存储空间不足的问题,cookie存储空间大小为4k,而localStorage一般浏览器支持的是5M大小,不同浏览器不太一样
-
localStorage的局限性:
- 浏览器的大小不统一,在IE8以上的IE版本才支持这个属性
- 目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个对于我们比较常见的JSON对象类型需要一些转换
- localStorage在浏览器的隐私模式下面是不可读取的
- localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡
- localStorage不能被爬虫抓取到
localStorage与sessionStorage的唯一一点区别就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空
4. sessionStorage
sessionStorage只是存在于一次会话中,会话结束就清除,其余与localStorage类似