Cookie的domain
Cookie的path是在同一主机中指定共享Cookie,如果主机不同那么就一定不能共享Cookie,无论path是什么。
如果希望不同的二级域名中可以共享Cookie,那么就要设置Cookie的domain了。
例如:music.baidu.com、map.baidu.com、tieba.baidu.com,它们的域名不同,但百度希望它们之间可以共享Cookie,那么就要设置domain了。
1). 设置Cookie的path为“/”,例如:cookie.setPath("/");表示在整个baidun.com中都是能够传递。
2). 设置Cookie的domain,例如:cookie.setDomain(".baidu.com"),其中domain中没有指定域名前缀!
在music.baidu.com主机中的某个项目中保存了Cookie
在map.baidu.com主机中某个项目中获取Cookie
当然这需要配置两个虚拟主机才行。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Servlet1(“/cookie/login”) Servlet(“/abc/list”)
此时Servlet 中Cookie是不会发送请求给Servlet2 的因为路径不同。
此时的Servlet只能把Cookie传递给/Cookie/打头的资源。
Cookie缺陷问题:
1:不安全,所有的信息都是记录在电脑中浏览器中的信息。Cookie信息。
2:在存储中文的时候比较麻烦。(先编码在解码)
3:一个Cookie只能存储一个数据。如果是多个数据则需要N个Cookie数据。主要的原因是因为value的值是String类型。
4:一个站点对Cookie的数量是有限制的。
Cookie大小限制在4KB之内;
* 一台服务器在一个客户端最多保存20个Cookie;
* 一个浏览器最多可以保存300个Cookie;
5:再设计上就有问题:考虑生活中问题:
Cookie 是浏览器和服务器之间和数据交互的凭证。在生活中我们是把识别数据存储到服务端。
解决方法:session(当然也不是百分之百的好,也是缺陷的地方。)