Cookie 的属性-1与Cookie的属性-2

发布时间 2023-03-22 21:11:42作者: 95232

Cookie 的属性-1

   Cookie的名称(Name)和值(Value)

     最重要的两个属性,创建Cookie时必须填写,其它属性可以使用默认值

     Cookie的名称或值如果包含非英文字母,则写入时需要使用encodeURlComponent 编码,读取使用哪个decodeURIComponent()解码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Cookie的属性</title>
</head>
<body>
<script>
    document.cookie ='username =${encodeURIComponent(\'张三\')};'
    document.cookie ='${encodeURIComponent(\'用户名\')} =${encodeURIComponent(\'张三\')}';
</script>
</body>
</html>

      

 

 

      一般名称使用英文字母,不要用中文,值可以用中文,但是要编码

    失效(到期)时间

     对于失效的Cookie,会被浏览器清除

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

     

 

 

       

 

 

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

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

      expires  

      值为Date类型   

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

 

 

 

 

 

 

    Max-age

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

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

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

   document.cookie='username = alex';
    document.cookie='username = alex max-age=0';
     document.cookie='username = alex max-age=-1';

    Domain 域

    Path路径

    HttpOnly

    Secure     

Cookie的属性-2

    Cookie的名称(Name)和值(Value)

    失效(到期)时间

      Domain 域

      

       

      

 

      

 

      

           

 

 

 

         

        

 

        

 

 

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

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

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

       https://www.imooc.com/ m.imooc.com/ 当前域

       父域:.imooc.com

      

 

 

     

      Path路径

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

      

 

      

 

 

      

 

 

       

 

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

document.cookie='username=lyw; path=/course/list/a'
document.cookie='username=lyw; path=/HTTP/templates/3.html'

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

    

 

 

 

 

      HttpOnly

      Secure