在判断cookie是否过期的时候,我除了判断能不能拿到cookie外,还加了getMaxAge是否大于0的判定方法,后来发现这样就有问题了,getMaxAge返回的值总是-1,其他信息除了name和value外都是一样的值。
发现Cookie从服务器端发送到客户端时,信息是完整的,Cookie从客户器端发送到服务端时,信息只剩下key、value了。后来想了一下 ,域不对的Cookie、路径不对的Cookie、过期的Cookie,客户端是不会发送过来的,所以在设置了cookie后,发送到客户端,下一次获取的时候就只能获取key和Value的值了。
以后只需要判断cookie的name是否匹配就能验证cookie是否存在了,如果要更新cookie,除了设置相同的名字外,还要设置相同的域和path名,因为前面说的,拿到的cookie只有name 和 value,如果不设置域和path值,则会默认当前路径和域,存另外一份Cookie。