cookie属性及特点

2022-02-03  本文已影响0人  yueluoxingliu

cookie属性:name、value、expires、domain、path、secure、max-age、HttpOnly。

1.name属性是必需的,它是一个键值对,用于指定Cookie的键。value

2.value属性是必需的,它是一个键值对,用于指定Cookie的值。

3.expires属性用于指定Cookie过期时间。它采用UTC或GMT格式

----如果不设置该属性,或者设为null,Cookie只在当前会话(session)有效,浏览器窗口一旦关闭,当前Session结束,该Cookie就会被删除。

----浏览器根据本地时间,决定Cookie是否过期,由于本地时间是不精确的,所以没有办法保证Cookie一定会在服务器指定的时间过期。

-----当设置的失效时间大于等于1天时:我们可以在 expires 属性后面直接输入XX天数。

 Cookies.set('name', 'value', {expires: 7 });

4.domain属性指定Cookie所在的域名,比如example.com或subdomain.example.com。

如果未指定,默认为设定该Cookie的域名。所指定的域名必须是当前发送Cookie的域名的一部分,比如当前访问的域名是example.com,就不能将其设为google.com。只有访问的域名匹配domain属性,Cookie才会发送到服务器。

5.path属性用来指定路径,必须是绝对路径(比如/、/mydir),如果未指定,默认为请求该Cookie的网页路径。

6.secure属性用来指定Cookie只能在加密协议HTTPS下发送到服务器。

------该属性只是一个开关,不需要指定值。如果通信是HTTPS协议,该开关自动打开。

7max-age属性用来指定Cookie有效期,比如60 * 60 * 24 * 365

------正常情况下,max-age的优先级高于expires,但是二者有一些细微差别。

8.HttpOnly属性用于设置该Cookie不能被JavaScript读取.

Set-Cookie: key=value; HttpOnly

--------进行AJAX操作时,XMLHttpRequest对象也无法包括这个Cookie。这主要是为了防止XSS攻击盗取Cookie。

Cookie的特点

1.有生命周期

2.满足同源策略

3.内存大小收到限制(一般是4K左右)

上一篇 下一篇

猜你喜欢

热点阅读