今天遇到了一个cookie的作用域问题,发现以前对cookie的作用域不是很了解,后面去搜索了一下,拜读了一下这篇文章 http://www.cnblogs.com/chenqianpeng/archive/2012/04/24/2468642.html
总结了一下,可以认为服务端设置的cookie是否生效取决于domain域的设置是否正确,当domain域设置正确后,cookie的设置才会生效,才能在以后的请求中读取。
那domain该怎么设置呢?
- 当cookie中的domain设置为空的时候,则默认为当前域名
- 假如当前请求的域名为local.com,该请求返回时设置的domain只能为空或者local.com; 假如当前请求的域名为a.local.com, 则可以设置domain为a.local.com或者local.com,不能设置为 b.local.com。即,domain不能设置为当前域名的子域名,只能设置为当前域名或者父域名
cookie的作用域
当domain设置正确后,cookie也就生效了,cookie的作用域为当前设置的domain及其子域名。即,假如发起设置cookie的请求的域名为a.local.com,设置的cookie的domain为local.com的话,则该cookie可以被a.local.com或者b.local.com或者local.com发起的请求所使用;假如请求域名为a.local.com,设置的cookie的domain为a.local.com的话,则该cookie可以被a.local.com或者a1.a.local.com所使用,但不能被b.local.com或者local.com发起的请求所使用