一文读懂Cookie与Session

Cookie和Session是解决Http协议无状态问题的技术。Cookie将数据存储在客户端,而Session则在服务器端保存数据。在交互中,服务端设置并发送Cookie给浏览器,浏览器之后的请求会携带Cookie。Session则允许在服务器端存储用户信息,如通过request.getSession().setAttribute()设置和getAttribute()读取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CookieSession是Web开发中,常见的两种技术,今天我们就来探讨一下这两种技术。

Cookie与Session是什么?

Http协议是基于请求应答机制无状态的一种协议。这意味着浏览器向服务器发起http请求(比如登录),服务器也回应了,登录成功了。这时我们刷新页面,再次发起一次请求,因为Http协议无状态,所以记不住上次已经登录过了,还得重新登录。

针对Http协议的老年痴呆症,我们想了一个办法,能够将http请求的数据信息保存起来,下一次进行请求的时候能够携带上,这个办法就是Cookie与Session。

Cookie:

数据信息保存在客户端

Session:

数据信息保存在了服务器

Cookie与Session的交互

Cookie使用

1.服务端设置Cookie:

        Cookie cookie = new Cookie("BD_HOME", "1");
        // 设置Cookie的路径为根目录
        cookie.setPath("/"); 
        // 设置Cookie的有效期为1小时
        cookie.setMaxAge(3600); 
        // 将Cookie添加到响应中(客户端没有Cookie新建,有的话就更新)
        response.addCookie(cookie); 

2.浏览器保存Cookie:

3.前端发送请求携带Cookie

4.后端读取前端传递的Cookie

Cookie[] sessioncookies = request.getCookies();

Session使用:

1.Session中存储userName

request.getSession().setAttribute("username", “123456”);

2.Session中读取userName

String username = (String) request.getSession().getAttribute("username");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值