Cookie概述以及使用

一、概述

(一)会话
开始:浏览器输入网址回车,客户端和服务端握手建立连接,会话开始
结束:浏览器关闭,会话结束 (手动清除浏览器缓存) 在一次会话过程中,可以有n多次请求和响应。
(二)会话技术 Cookie技术:把会话数据保存在客户端的技术 session技术:把会话数据保存在服务端的技术,session技术依赖于Cookie技术
Cookie和session统称为会话技术,这两门技术都可以用来保存会话数据,但是它们也有区别:
1. 存储的位置不同。Cookie保存在客户端,session保存在服务器
2. 安全性区别。Cookie不安全,数据可能会丢失或者被篡改,session相对安全
3. Cookie不方便存储大的复杂的数据,会对网络带宽造成压力,session可以存储大的复杂的数据,但是服务器压力大
4. session依赖于Cookie

二、Cookie技术

把会话数据保存在客户端的技术。

(一)创建Cookie

Cookie cookie = new Cookie(String name, String value);

1.Cookie的有效期
Cookie的默认有效期是:一次会话期间

    //手动设置Cookie的有效期:
   cookie.setMaxAge(int seconds);

Cookie默认是被保存在浏览器内存当中的,所以浏览器关闭,内存清空,Cookie也消失了;设置了有效期以后,Cookie被保存到了磁盘文件上,所以只要Cookie没有超过有效期,并且没有被清除掉,就是有效的,无论浏览器是否关闭。


2.Cookie的有效路径

Cookie的默认有效路径:生成Cookie的资源所在的路径。只有在访问有效路径时,才会携带Cookie到服务端。 比如:
/day37_cookie_session/aa/create生成的Cookie,那么这个Cookie的有效路径是/day37_cookie_session/aa

        //手动设置Cookie的有效路径:
      cookie.setPath(String path);
        //比如:
      cookie.setPath(request.getContextPath());

(二)发送Cookie

response.addCookie(cookie);

(三)接收Cokie

Cookie[] cookies = request.getCookies();

(四)删除Cookie

通过创建同name,同path,同domain的cookie,设置有效期设置为0,然后发送到客户端覆盖原有的Cookie。

Cookie cookie = new Cookie("username","");
        cookie.setPath(request.getContextPath());
        //设置有效期为0
        cookie.setMaxAge(0);
        //发送到客户端,覆盖已有的Cookie
        response.addCookie(cookie);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值