关于Cookie的一些想法

根据实验个人理解的cookie处理机制。

 

首先明确一个事情,浏览器在请求头中传给服务器的cookie信息只有键值对,没有域,路径,过期时间的信息。因为无论在一个cookie中怎么设置这些信息,当从request对象中获得该cookie时,通过相应的get方法,获取到的域,路径,都为空,过期时间为默认的-1(而且从浏览器端的开发者工具也可以直接看出来)。当你设置了域,路径,过期时间等信息的时候,服务器通过响应头信息传给浏览器,浏览器拿到cookie时是有对应的信息的(可以通过浏览器的开发者工具查看),并根据这些信息处理cookie,这些信息相当于是解释说明cookie的作用。换句话说,cookie的主体就是一个键值对[key = value],其它的只是解释说明该键值对的一些附加信息,只是告诉浏览器该怎么处理该cookie的信息。举个例子,当你通过构造方法new Cookie(“testName”, “testValue”),你就创建了一个key为testName,value为testValue的cookie,其它信息你可以不设置,当浏览器收到该cookie时以默认的方式处理它。当你设置了其它信息时,只是告诉浏览以其它方式处理该cookie,而不是该cookie包含了这些信息。例如,当你通过cookie.setMaxAge(0)设置该cookie,根据API解释,就是要删除该cookie,其实说得准确点,是告诉浏览器删除该cookie,而不是设置完后该cookie就被销毁了。也就是说,当服务器执行到该行代码以后,cookie仍然存在,而必须当服务器在响应消息中告诉浏览器后,浏览器执行删除操作,该cookie才会被删除,所以,必须有response.addCookie()操作,将有效时间已经被设为0这个信息告诉浏览器,cookie才会被删除。同样道理,如果某个cookie设置了path,你想删除cookie,你就必须先设置path,告诉浏览器删除哪个path下的cookie,并将对应的cookie响应给浏览器。否则,没设置的情况下,浏览器就在默认的path下去删除cookie,但是,默认path下其实就没有你想删除的cookie,导致cookie无法删除的假象。

对于域也是同样的情况,不过,由于个人实验时没有域名,关于域的方法未经测试,不过,按照前面的实验可以推理。如果某个cookie设置了是针对某个域起作用,同样在删除的时候需要先设置域,告诉浏览器去删除哪个域下的cookie;

 

(其实仔细想想就明白,cookie是存在于客户端的,无论服务器端怎么处理,在响应给客户端前,不可能能处理到客户端的内容。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值