Cookie的属性

Cookie的属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script>
        // 1、Cookie的名称(Name)和值(Value)
        // 最重要的两个属性,创建Cookie时必须填写,其它属性可以使用默认值
        // Cookie的名称或值如果包含非英文字母,则写入时需要使用encodeURIComponent()编码,读取使用decodeURIComponent()解码
        // document.cookie = 'username = alex';
        document.cookie = 'username = ${encodeURICompont('张三')}';
        document.cookie = '${encodeURIComponent('用户名')} = ${encodeURIComponent('张三')}';
        // 一般名称使用英文字母,不要中文,值可以用中文,但是编码不要
    </script>
</body>
</html>

2、失效时间

对于失效时间的Cookie,会被浏览器清理

如果没有设置失效(到期时间)这样的Cookie称为会话Cookie

它存在内存中,当会话结束,也就是浏览器关闭时,Cookie消失

document.cookie = ' username = alex ';

想长时间存在,设置Expires或Max-Age

expire

值为Date类型

document.cookie = ' username = alex;expires = ${new Date(' 2100-1-01 00:00:00 ')} ';

max-age

值为数字,表示当前时间 + 多少秒后过期,单位是秒

document.cookie = ' username = alex ;max-age = 5';

document.cookie = ' username = alex;max-age = ${24*3600*30} ';

如果max-age的值是0或负数,则Cokkie会被删除

document.cookie = ' username = alex ';

document.cookie = ' username = alex ';

3、Domain域

Domain限定访问Cookie的范围(不同域名)

使用JS只能读写当前域或父域的Cookie,无法读写其他域的Cookie

document.cookie = ' username = alex;domain = www.imooc.com ';

www.imooc.com m.imooc.com 当前域

父域:.imooc.com

4、Path路径

Path限定访问Cookie的范围(同一域名下)

使用JS只能读写当前路径和上下级路径的Cookie,无法读写下级路径的Cookie

document.cookie = 'username = alex;path=/course/list'; 

document.cookie = 'username = alex;path =/1.Cookie/';

当 Name、Domain、Path这3个字段都相同的时候,才是同一个Cookie

 5、HttpOnly

设置了HttpOnly属性的Cookie不能通过JS去访问

6、Secure安全标志

Secure限定了只有在使用了https而不是http的情况下才可以发送给服务端

Dommain、Path、Secure都要满足条件,还不能过期的Cookie才能随着请求发送到服务器端

posted @ 2023-03-15 16:21  想见玺1面  阅读(38)  评论(0编辑  收藏  举报