//本地存储: 只能存储字符串,可以将对象JSON.stringify() 编码后存储
<!-- 1.window.sessionStorage-->
1、生命周期为关闭浏览器窗口
2、在同一个窗口(页面)下数据可以共享
3、以键值对的形式存储使用
sessionStorage.setItem(key, value) //存储数据
sessionStorage.getItem(key) //获取数据
sessionStorage.removeItem(key) //删除数据
sessionStorage.clear() //清空数据
<!-- 2.window.localStorage -->
1、生命周期永久生效,除非手动删除 否则关闭页面也会存在
2、可以多窗口(页面)共享(同一浏览器可以共享)
3. 以键值对的形式存储使用
localStorage.setItem(key, value) //存储数据 key是名称,value是值
localStorage.getItem(key) //获取数据
localStorage.removeItem(key) //删除数据
localStorage.clear() //清空数据:(所有都清除掉)
<!-- 3.cookie和session -->
当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中。
session
页面重启时session对象失效,也就是cookie信息失效
1.是前端登录后服务器立即创建的存储数据
2.session数据放在服务器上。
3.session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,
考虑到减轻服务器性能方面,应当使用cookie。
cookie
cookie信息会随着请求自动发送到服务端进行身份验证
格式:"name=value; expires=evalue; path=pvalue;"
1.是服务器响应过来的页面存储信息
2.cookie数据存放在客户的浏览器上
3.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。
function getCookie(cookieName) {
var strCookie = document.cookie;
var arrCookie = strCookie.split("; ");
for(var i = 0; i < arrCookie.length; i++){
var arr = arrCookie[i].split("=");
if(cookieName == arr[0]){
return arr[1];
}
}
return "";
}
var access_token = getCookie("user_accesstoken") //获取cookie指定字段参数
<!-- 存储key值 -->
d.setTime(d.getTime() + (1 * 24 * 60 * 60 * 1000)); var expires="expires=" + d.toUTCString();
document.cookie = "key=" + response.key + ";" + expires + "; path=/";
NAME=VALUE 赋予 Cookie 的名称和其值(必需项)
expires=DATE Cookie 的有效期(若不明确指定则默认为浏览器关闭前为止)
path=PATH 将服务器上的文件目录作为Cookie的适用对象(若不指定则默认为文档所在的文件目录)
domain=域名 作为 Cookie 适用对象的域名 (若不指定则默认为创建 Cookie的服务器的域名)
删除Cookie的唯一方法是: 将Expires设置为一个过去值, 一般会设置为 Thu, 01-Jan-1970 00:00:01 GMT 因为这是时间零点, 设这个总不会错.
document.cookie = 'fontSize=;expires=Thu, 01-Jan-1970 00:00:01 GMT';
<!-- 4.保持登录状态token -->
如果客户端不是浏览器,那么需要手动添加token(和cookie类似,也是登录凭证),将token添加到http header或者做为参数添加到url。
是客服端也可以