Cookie的属性和跨域问题
一个域名下面可能存在着很多个cookie对象,cookie具有多个属性:
非顶级域名,如二级域名或者三级域名,设置的cookie的domain只能为顶级域名或者二级域名或者三级域名本身,不能设置其他二级域名的cookie,否则cookie无法生成。
顶级域名只能设置domain为顶级域名,不能设置为二级域名或者三级域名,否则cookie无法生成。
二级域名能读取设置了domain为顶级域名或者自身的cookie,不能读取其他二级域名domain的cookie。所以要想cookie在多个二级域名中共享,需要设置domain为顶级域名,这样就可以在所有二级域名里面或者到这个cookie的值了。
顶级域名只能获取到domain设置为顶级域名的cookie,其他domain设置为二级域名的无法获取。
我们知道Cookie的属性有很多,其中有一个属性是路径。有些人认为Cookie的路径指的是Cookie在客户端的保存路径,其实并不是。 Cookie的路径是在服务器创建Cookie时设置的,它的作用是决定浏览器访问服务器的某个资源时,需要将浏览器端保存的那些Cookie归还给服务器 。
正常的cookie只能在一个应用中共享,即一个cookie只能由创建它的应用获得。
设置cookie.setPath("/"); 假设本机tomcat/webapp下面有两个应用:cas和webapp_b:
设置cookie.setDomain(".jszx.com");假设 A机所在的域:home.langchao.com,A有应用cas B机所在的域:jszx.com,B有应用webapp_b :