`
lonvea
  • 浏览: 75330 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

cookie共享于二级域名

阅读更多

纠结了半天,终于搞定了cookie在主域名下各个二级域名可共享问题.

 

对于任何web 前端技术,都可以对创建cookie并且可以修改同域下cookie的数据.

一个cookie是一个K-V的字符串,同时可以传递一些属性.

 

Cookie cookie = new Cookie("key","value");
cookie.setMaxAge(-1);
cookie.setDomain("abc.com");
cookie.setSecure(false);
cookie.setPath("/")

 

一个cookie如上4个重要的属性:

1)maxAge:cookie被客户端保持的时间,单位为(秒),正数表示在指定的秒数后过期被客户端删除,0表示删除此cookie(置空),负数则表示此cookie不会被客户端存储,将在浏览器关闭后清除.

2)domain:cookie可被有效操作的域,可以为ip/hostname等,不过需要声明:*.abc.com,.abc.com,abc.com这三种方式会有区别,客户端会做简单的匹配.多数情况下直接使用abc.com可以接受多级子域名.只有正确匹配domain的cookie才会被发送给server.

3)secure:是否只允许安全加密url访问,默认为false,如果为true,那么cookie只对https/SSL等加密连接才会发送给server.

4)path:cookie对domain何路径下访问有效,"/"表示domain下根目录中所有请求有效,"/open"表示只对domain/open目录下请求有效,如果此path忘记设置,你将遇到一个很尴尬的问题:明明在其他页面设置了cookie输出,但是换个页面却死活不行..

 

domain和path是决定可跨域的2个参数.

对于domain,"abc.com"则可以在abc.com主域名之下的多级子域名有效,".abc.com"只能在二级域名以及"www.abc.com"下有效,其实客户端只是做了简单的匹配..你可以在此基础上做更多的分级控制..

path是个有参考意义的属性,对于部分路径下开放访问的系统有意义,比如:abc.com/open下的程序和登录是开放给特殊开发者接入的,这里的数据活着cookie需要做一些另类的处理..

 

 

 

4
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics