基本概念
1、cookie
cookie成为会话跟踪技术,就是在一次会话中跟踪记录一些状态。cookie就可以在一次会话从开始到结束的整个过程,全程跟踪记录客户端的状态(列如:是否登录、购物车信息、是否已下载)。cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用
“会话”指的是就是从浏览器打开一个网站到访问它的其他网页直到浏览器关闭的这个过程。
cookie主要用于三个方面:
- 会话状态管理(如用户登录状态、购物车、游戏分数或其他需要记录的信息)
- 个性化设置(如用户自定义设置、主题等)
- 浏览器腥味跟踪(如跟踪分析用户行为)
cookie的缺点:
- cookie可能被禁用。当用户非常注重个人隐私保护时,他很可能禁用浏览器的cookie功能;
- cookie是与浏览器相关的。这意味着即使访问的是同一个页面,不同浏览器之间所保存的cookie也是不能互相访问的;
- cookie可能被删除。因为每个cookie都是硬盘上的一个文件,因此很有可能被用户删除;
- cookie安全性不够高。所有的cookie都是以纯文本的形式记录于文件中,因此如果要保存用户名密码等信息时,最好事先经过加密处理。
2、localStorage
什么是localStorage、sessionStorage
在html中,新加入一个localStorag特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中米条cookie的存储空间为4K),localStorage中一般浏览器支持的是5M大小,这个在不同浏览器中localStroage会有所不同
localStorage的优势与局限
- 浏览器在T8以上的IE版本才支持localStorage这个属性
- 目前所有的浏览器中都会吧localStorage的值类型先定位string类型,这个对我们日常比较常见的JSON对象类型需要一些转换
- localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡
- localStorage在浏览器的隐私模式下面试不可读取的
- localStorage不能被爬虫抓取到
localStorage与sessionStorage的唯一区别就是localStorag属于永久性存储,而sessionStorage属于当回话结束的时候,sessionStorage中的键值对会被清空
使用方法
//写入c字段
localStorage.setItem("c",3);
//第一种方法读取
var a=localStorage.a;
//第二种方法读取
var b=localStorage["b"];
//第三种方法读取
var c=localStorage.getItem("c");
//将localStorage的所有内容清除
localStorage.clear();
//将localStorage中的某个键值对删除
localStorage.removeItem("a");
sessionStorage(临时存储):为每一个数据源维持一个存储区,在浏览器打开期间存在,包括页面重新加载