删除cookie 不是setMaxAge(0) 而是同名替代
2013-03-23 15:14
330 查看
5.1.7 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即失效。maxAge为负数的Cookie,为临时性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操作方法只有一个添加操作add(Cookie cookie)。要想修改Cookie只能使用一个同名的Cookie来覆盖原来的Cookie,达到修改的目的。删除时只需要把maxAge修改为0即可。
注意:从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交。浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用来判断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即失效。maxAge为负数的Cookie,为临时性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操作方法只有一个添加操作add(Cookie cookie)。要想修改Cookie只能使用一个同名的Cookie来覆盖原来的Cookie,达到修改的目的。删除时只需要把maxAge修改为0即可。
注意:从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交。浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用来判断Cookie是否过期。
相关文章推荐
- 百度删除的不是数学吧吧主的权限,而是伤害所有为百度服务的吧友的心!
- 删除cookie的时候,setMaxAge(0)有可能不起作用,需要加上cookie.setPath("/");[domain也很重要]
- 关于设置了setMaxAge(0)而浏览器未成功删除Cookie的注意事项
- 在JS表格中怎么删除一行(不是指定行,而是我表格中每行后面都有一个删除按钮,按其中一个按钮就删除那一行
- 关于设置了setMaxAge(0)而浏览器未成功删除Cookie的注意事项
- 关于设置了setMaxAge(0)而浏览器未成功删除Cookie的注意事项
- 【转】不是优秀,而是不可替代
- 关于设置了setMaxAge(0)而浏览器未成功删除Cookie的注意事项
- 有些字划掉并不是删除线而是右斜线,在ReportMachine报表的实现
- Word2010版 ,每页上下都有一根粗黑线,但是不是页眉或页脚的下框线,怎么删除?
- PHP删除cookie的一个小秘密
- 设置、删除cookie实现关闭一个层后,即使刷新也不会再显示
- 不是不想喧闹 而是少了一种理由
- 大学,不是学习的终点,而是起点。
- js保存,获取,删除cookie的操作
- 不是员工不好,而是制度不好
- 每天叫醒的不是闹钟而是励志文章梦想
- 百度缺的不是狼性,而是鲁滨逊
- 敏捷开发真正的重点不是 User Story 的拆分, 而是开发人员的能力
- JS设置cookie、读取cookie、删除cookie