cookie作用域

Posted Arvin-ma

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie作用域相关的知识,希望对你有一定的参考价值。

 1.cookie虽然是由一个网页所创建,但并不只是创建cookie的网页才能读 取该cookie。在默认情况下,与创建cookie的网页在同一目录或子目录下的所有网页都可以读取该cookie。但如果在这个目录下还有子目录,要 使在子目录中也可以访问,则需要使用path参数设置cookie,语法如下:
document.cookie="name=value; path=cookieDir";
 2. 如果要使cookie在整个网站下可用,可以将cookieDir指定为根目录,示例如下:
document.cookie="userId=320; path=/";
   上面所说都指的是在同一个目录中的访问,可是要想在不同虚拟目录中访问则要另外想办法来解决这个问题。但是path不能解决在不同域中访问cookie的 问题。在默认情况下,只有和设置cookie的网页在同一个Web服务器的网页才能访问该网页创建的cookie。但可以通过domain参数来实现对其 的控制,其语法格式如下:
document.cookie="name=value; domain=cookieDomain";

3.具体代码如下,直接运行即可:

设置路径:

<html>
<head>
    <title>设置cookie的路径</title>
<script language="javascript" type="text/javascript">
   <!--

    var now=new Date();
   now.setDate(now.getDate()+1);
   var cookies="userName="+escape("哈哈")+";expires="+now.toString()+";path=/";
   document.cookie=cookies;
   document.write("cookie文件中的内容为:<br>",unescape(document.cookie));
   -->
</script>

</head>
<body></body>

</html>

设置域:

<html>
<head>
    <title>设置cookie的路径</title>
<script language="javascript" type="text/javascript">
   <!--

    

   var now=new Date();
   now.setDate(now.getDate()+1);
   var cookies="userName="+escape("哈哈")+";expires="+now.toString()+";path=/; domain=.baidu.com";
   document.cookie=cookies;
   document.write("cookie文件中的内容为:<br>",unescape(document.cookie));
   -->
</script>

</head>
<body></body>

</html>

以上是关于cookie作用域的主要内容,如果未能解决你的问题,请参考以下文章

cookie作用域

如果 cookie 设置为同一域上的所有子域,则删​​除 cookie 不起作用

Jsp数据交互

ajax、fetch 跨域携带cookie

当我将域属性与子域值一起使用时,HttpOnly Cookie 不起作用

浏览器同源策略及Cookie的作用域