Cookie Session

cookie

	// cookie是会话技术,保存在客户端(电脑磁盘里面),默认时间是一次会话
	// 可以通过setMaxAge进行时间设置
	// 可以通过setPath设置路径,setDomain设置父域名(域名比他短),通过response.addCookie进行保存cookie

session :

	// session是会话技术,保存在服务端
	// session的实现依赖于cookie
	// 通过request.getSession(),会生成一个jsessionId的cookie,默认保存时间是一次会话(浏览器关闭就是一次会话)。
	// 每次浏览器请求的时候都会带上这个jessionId,用来识别请求用户
	// session默认保存时间是30分钟,时间(分钟)可以在三个地方配置
	// 		1. tomcat中的conf/web.xml
	// 		2. 项目的web.xml
	// 		3. session.setMaxInactiveInterval
	// 当关闭tomcat的时候,session会失效。
	// 当关闭浏览器的时候,session不会失效,但是cookie默认是一次会话,所以jsessionId会失效。

domain:

域名A: ccssdd.zicp.vip
域名B: zicp.vip
B为A的上一级域名,也就是父亲,或者说叫爸爸。
1. 当通过A域名去添加一个名称为k,内容为v的cookie, setDomain为zicp.vip或 .zicp.vip(带点和不带点两个效果是	    
一样的,最终在zicp.vip这个域名下k1的域名都是 .zicp.vip  ,如果你直接通过域名B去添加一个key,且生成的这个key  	
所属域名没有带点,那么这个key是私有的,子域名不能访问),那么在zicp.vip这	个域名下有一个key为k的cookie,域
名A也可以获取这个值。那么当删除的时候,domain也要指定为  .zicp.vip	

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

	2. setDomain为空的时候,只会在域名A下有这个key 
	3. setDomain为ccssdd.zicp.vip的时候,会在ccssdd.zicp.vip这个域名下生成域名带点的名称(名称:k2),如图

在这里插入图片描述

4. setDomain为ccssdd.zicp.vip的时候,会在ccssdd.zicp.vip这个域名下生成域名带点的名称(名称:k1,内容为v11)

在这里插入图片描述

那么这个时候会有两个名称为k1的cookie,一个在上一级域名一个在自身域名,那么通过request.getCookies()去获
取的时候,会获取两个为k1的cookie,如图([0],[2])。

在这里插入图片描述

5. 如果在域名A下想要删除域名B下的cookie,那么需要指定domain为`.zicp.vip`(必须带点,因为只有带点的cookie,
子域名才有权利来进行访问),没有带点的是其私有的(可以通过浏览器cookie查看那些是其私有)。

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

总结

1. request请求的时候,会把所有的cookie带上
2.  父域名(zicp.vip)是没有权利来访问子域名的cookie。
3. 子域名只能访问父域名带点的cookie
4. 删除域名的时候,如果这个cookie的域名带点,那么也要指定domain。可以存在名称一样的cookie(域名区分带点与不带点)
5. 只有path、domain、cookie的名称一致,才能被视为同一个cookie。
6. cookie默认保存的path是项目名称,如:/app,/gts。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值