Cookie的使用

ookie简介

1. 定义
cookie是由服务器发送给客户端(浏览器)的小量信息。

2. 作用
cookie是键值对形式存储的少量信息,那它有什么作用呢?

我们知道,平时上网时都是使用无状态的HTTP协议传输出数据,这意味着客户端与服务端在数据传送完成后就会中断连接。这时我们就需要一个一直保持会话连接的机制。在session出现前,cookie就完全充当了这种角色。也就是,cookie的小量信息能帮助我们跟踪会话。一般该信息记录用户身份。

当然cookie也常记录跟踪购物车的商品信息(如数量)、记录用户访问次数等。

3. 原理
客户端请求服务器时,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。而客户端浏览器会把Cookie保存起来。当浏览器再请求服务器时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器通过检查该Cookie来获取用户状态。

4.添加cookie示例
获取客户端的Cookie时,只能获取name与value属性,其它属性都不会被提交。

Cookie c = new Cookie("username","peter");// 新建一个Cookie对象 c.setMaxAge(24*60*60); // 设置过期时间1天,以秒为单位 response.addCookie(c);

5.删除cookie示例
删除某个Cookie时,只需要新建一个只有maxAge和value不一样的同名Cookie,然后添加到response中覆盖原来的Cookie

Cookie cookie = new Cookie("username","peter");// 新建Cookie
cookie.setMaxAge(0); // 设置生命周期为0,表示将要删除
response.addCookie(cookie); // 执行添加后就从response里删除了

6.修改cookie示例

修改某个Cookie时,只需要新建一个只有value属性不一样的同名Cookie,然后添加到response中覆盖原来的Cookie

Cookie cookie = new Cookie("username","joker");// 新建Cookie
cookie.setMaxAge(24*60*60); // 设置生命周期
response.addCookie(cookie); // 执行添加后就从response里覆盖修改了

注意:修改、删除Cookie时,新建的Cookie除value、maxAge之外的所有属性,例如name、path、domain等,都要与原Cookie完全一样。否则,浏览器将视为两个不同的Cookie而不会覆盖之前的Cookie,从而导致修改、删除失败。
原文:https://blog.csdn.net/qq_29132907/article/details/80390792 

posted @ 2019-04-04 12:46  GodL  阅读(161)  评论(0编辑  收藏  举报