cookie是一些数据, 存储于电脑上的文本文件中。用于解决:如何记录客户端的用户信息。
Name:cookie的名称
Value:cookie的值
Domain:cookie应用的域名
Path:cookie生效的网站路径
Expires / Max-age:cookie的有效时间或表示Cookie在多长时间后失效
size:cookie的长度,为name和value的长度和
httpOnly:设置客户端脚本是否可以通过document.cookie
属性访问cookie
Secure:设置cookie使用https还是http协议发送
SameSite:是否允许跨站请求时发送Cookie,用于防止CSRF攻击和用户追踪。
Partition Key:设置第三方Cookie分区,标明当前访问的网站来源
Priority:cookie数量超过限制时,根据这个属性来判断cookie的优先级,优先级低的cookie会被清除。
这里只介绍js操作cookie的方法
在设置cookie时根据网站实际情况设置以上属性,一次只能设置一个Cookie。但是可以同时对单个Cookie的属性进行设置,每个属性使用分隔符;。
document.cookie = "name=value;";
document.cookie = "name=value; doamin=howxue.cn";
document.cookie = "name=value; doamin=howxue.cn;path=/";
修改方法与新增方法一样简单,值会覆盖上去的,不过对于不熟悉的人会遇到一些坑的,比如cookie的name相同domain不同浏览器会认为这条是新增的而不会覆盖之前的相同name的cookie,同理网站路径不同也会视为不同……当然若之前设置的cookie没有设置的,会判断为新增。
同修改操作一样,没有专门的remove方法,保持name domain 路径一致,设置成过期即可
document.cookie = "name=value;max-age=-1";
document.cookie = "name=value; doamin=howxue.cn;max-age=-1";
document.cookie = "name=value; doamin=howxue.cn;path=/;max-age=-1";
方法
document.cookie;
这个方法只能查询name与value值,多个用;隔开,其他属性是读取不到的
不过一般而已,很少会使用js查询cookie,毕竟cookie是会传输到后端进行处理的,不同的后端语言都有各自的方法。查看API即可