概述
Cookie的有效期
- Cookie的maxAge决定着Cookie的有效期,单位为(Second)。
- Cookie中通过getMaxAge()与setMaxAge(int maxAge)读写maxAge属性。
- 如果maxAge属性为正数,则表示该Cookie会在maxAge秒之后自动失效。
- 浏览器会将maxAge为正数的 Cookie持久化,即写到对应的Cookie文件中。无论客户关闭了浏览器还是电脑,只要还在maxAge秒之前,登录网站时该Cookie仍然有效。 下面代码中的Cookie信息将永远有效。
Cookie cookie = new Cookie("username","helloweenvsfei"); // 新建Cookie
cookie.setMaxAge(Integer.MAX_VALUE); // 设置生命周期为MAX_VALUE
response.addCookie(cookie); // 输出到客户端
-
maxAge为负数的Cookie,为临时性Cookie,不会被持久化,不会被写到Cookie文件中,保存在浏览器内存中,仅在当前浏览器窗口和其子窗口内有效,因此关闭窗口该Cookie就消失了。Cookie默认的maxAge值为–1。
-
如果maxAge为0,则表示删除该Cookie。Cookie机制没有提供删除Cookie的方法,因此通过设置该Cookie即时失效实现删除Cookie的效果。失效的Cookie会被浏览器从Cookie文件或者内存中删除。示例代码如下:
Cookie cookie = new Cookie("username","helloweenvsfei"); // 新建Cookie
cookie.setMaxAge(0); // 设置生命周期为0,不能为负数
response.addCookie(cookie); // 必须执行这一句
response对象提供的Cookie操作方法只有一个添加操作addCookie(Cookie cookie)
-
修改Cookie的办法:使用一个同名的Cookie来覆盖原来的Cookie,达到修改的目的。
-
注意:从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交。浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用来判断Cookie是否过期。
最后
以上就是顺心月饼为你收集整理的Cookie补充的一些知识的全部内容,希望文章能够帮你解决Cookie补充的一些知识所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复