Cookie的路径和设置Cookie的缺陷的详细讲解

版权声明:未经同意窃取和转载我的内容,如果涉及到权益问题,后果自负! https://blog.csdn.net/weixin_41605937/article/details/85846952

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(当然也不是百分之百的好,也是缺陷的地方。)

猜你喜欢

转载自blog.csdn.net/weixin_41605937/article/details/85846952