cookie 临时存储
cookie 是本地计算机的临时存储
var date=new Date(); //获取时间
date.setFullYear(2022);
document.cookie="a=3";
expires="+date.toUTCString()获取当日时间
expires用来控制缓存的失效日期
document.cookie="a=3;expires="+date.toUTCString();
console.log(document.cookie);
var a=Number(document.cookie.split("=")[1]);
a++;
document.cookie="a="+a+";expires="+date.toUTCString();
存储 获取
cookie临时存储在本机
cookie只能再页面通过服务打开的情况下才可以使用,ajax也是
双击打开页面无法使用
cookie存储时5k 但是这个是针对当前文件夹路径的存储,子文件夹将会有新的存储空间
cookie存储的数据类型是字符串
cookie存储是以域名区分,不同域名的存储是无法共享的 一般有50条
如何清除过期时间?只需要将cookie存储重新设置不加过期时间,就可以完成清除过期时间
如果浏览器中设置了不存储cookie或者手动清除cookie,以上内容都会丢失
在打开网址时或者提交表单时自动裹挟着cookie数据发送到服务器,并且服务端程序可以
继续裹挟着新的cookie内容存储在你的电脑的cookie中
cookie的特性(服务器环境运行)
cookie可以实现跨页面全局变量
cookie可以跨越同域名下的多个网页,但不能跨域使用
cookie会随着HTTP请求自动发送给服务器
cookie会存储于访问者的计算机中
可以设置有效期限
存储空间为 4KB / 50 条左右
cookie应用场景
- 会话状态管理(如用户登录状态、购物车等)
- 个性化设置(保存用户设置的样式等)
- 浏览器行为跟踪(如跟踪分析用户行为等)
cookie的缺点
cookie可能被禁用
cookie与浏览器相关,不能互相访问
cookie可能被用户删除
cookie安全性不够高
cookie会随着HTTP请求发送给服务器
cookie存储空间很小(4KB、50条左右)
cookie操作麻烦,没有方便的API
操作cookie
每个cookie都是一个键/值对格式的字符串(key=value)
设置cookie:
document.cookie="user1=xh";
document.cookie="user2=xm";
如果要改变一个cookie的值,只能重新赋值
设置有效期:
var d=new Date();
d.setDate(d.getDate()+3); //按天数设置
document.cookie="user3=xd; expires="+d;
domain=域名; 默认为当前域名
path=目录; 默认当前目录
读取cookie:
var cookies = document.cookie;
只能够一次获取所有的cookie值
使用时必须自己解析这个字符串,来获取指定的cookie值
回顾:split() 方法用于把一个字符串分割成字符串数组
使用 escape() 编码
使用 unescape() 解码
删除cookie:
cookie过期会自动消失
要删除一个cookie,可将其有效期设为一个过去的时间
var d=new Date();
d.setDate(d.getDate()-1);
document.cookie="user1=xh; expires="+d;