Cookie的domain以及path详解

之前写过一篇关于cookie 的增删改查,但是写的比较粗糙,这里提两个比较重点的,分别是domain和path

一、domain

1.介绍

可以访问该Cookie的域名。如果设置为“.google.com”,则所有以“google.com”结尾的域名都可以访问该Cookie。注意第一个字符必须为“.”。

2.例子

document.cookie = "token=abc;path=/;domain=.csdn.net"

3.运用

平常用的比较多的地方是在登录模块,通过在父级域设置Cookie,因为各个子级域都可以拿到父级域中的Cookie值,即可通过父级域中的Cookie值来确定登录的状态。而如果2中例子写成如下

document.cookie = "token=abc;path=/;"

则会导致Cookie只有在当前域和子域中查看,在父域或者兄弟域之中是无法读取cookie的,会出现跨域的情况,这样就无法再全局通过cookie去判断状态。

二、path

1.介绍

Cookie的使用路径。如果设置为“/sessionWeb/”,则只有contextPath为“/sessionWeb”的程序可以访问该Cookie。如果设置为“/”,则本域名下contextPath都可以访问该Cookie。注意最后一个字符必须为“/”。

2.例子

document.cookie = "token=abc;path=/;domain=.csdn.net"

3.运用

举个例子,在mine/register目录下写了个Cookie而没设置path的话,在mine/login目录下则拿不到之前写的Cookie。拿前面的登录模块来说,退出登录需要清除Cookie的时候,若是忽略了写Cookie的目录,则会导致无法清除Cookie等bug出现。

所以一种比较好的方法就是写Cookie的时候带上path,“/”表示路径是根目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值