Cookie&Session理论知识

本文深入讲解了Cookie和Session的工作原理及使用方法。Cookie用于在浏览器中保存信息,以便后续访问时使用;Session则用于管理一次客户端与服务器之间的连续交互过程。文章详细对比了两者的特点,包括数据存储位置、安全性及生命周期等。

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

Cookie&Session理论知识

Cookie:
	在浏览器中保存信息(信息可以是用户信息或者其他需要使用的信息),当下一次访问的时候
	浏览器会携带Cookie的信息传给服务器端。
  • 基本使用

    方法描述
    new Cookie(name,value)javax.servlet.http.Cookie ,创建Cookie
    HttpServletResponse.addCookie(Cookie)将Cookie发送给浏览器
    getName()获得Cookie对象的名字
    getValue()获得Cookie对象的

    Cookie 和浏览器缓存的区别:

    浏览器缓存是可以缓存任意内容(上网浏览的所有内容),Cookie是针对性的缓存需要使用的数据。

    特点:

    • 数据保存在浏览器缓存中,缓存清空,Cookie销毁
    • 不可以跨域
    • 存储限制,最多存300个cookie

    注意:

    • cookie不能直接编码中文,可以使用URL编解
    • 可以给Cookie设置存活时间
    • Cookie唯一标识: 域名+路径+Cookie名
    • 如果唯一标识一样,两次addCookie(),后者的值将覆盖前者的值
Session:

一次会话管理,指的是一个客户端(浏览器)与WEB服务器之间连续发生的一系列请求(request)和响应(response)的过程。

为什么不用HttpServletRequest对象和ServletContext对象都可以对数据进行保存?

**HttpServletRequest**只是一次请求的过程,数据只能在当前请求生效。
例如有两个请求,一个购买,一个退货。退货请求需要从购买请求中获取到购买的数据是获取不到的。

**ServletContext**是整个WEB应用数据所共享的一个对象,
如果用于保存数据,在取出数据的时候将会不知道这个数据到底是属于谁的数据。

有了Cookie为什么还要有Session?

Cookie数据保存在浏览器端,Session数据保存在服务器端,
Cookie保存个数是有限制的,而Session是没有限制的。

安全而言: session > cookie

**Session生命周期:**浏览器的开启到关闭

session默认存活时间是30分钟

销毁可以手动调用session的invalidate方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值