JavaWeb - Session和Cookie的定义、联系、区别及一些注意事项

本文详细介绍了Cookie和Session的定义、工作原理以及它们之间的区别和联系。Cookie数据存储在客户端,Session则保存在服务器端,服务器通过SessionID识别用户。尽管Session相对安全,但会占用服务器资源。Cookie虽然不安全,但不占用服务器资源,适合存储非敏感信息。在使用时,应根据应用场景合理选择Cookie和Session。
摘要由CSDN通过智能技术生成

1.Session和Cookie的定义

Session
Session是一种记录客户状态的机制,Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了

Cookie
Cookie是客户端(一般指浏览器)请求服务器后,服务器发给客户端的一个辨认标识,保存在客户端,当客户端再次向服务器发送请求时,会携带着这个辨认标识,服务器就可以通过这个标识来识别客户端的身份或状态等。

2.区别:

  1. Cookie数据保存在客户端,Session数据保存在服务器端;
  2. Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间。
  3. Cookies不会占服务器资源,是存在客服端内存或者一个Cookie的文本文件中;而Session则会占用服务器资源。所以,尽量不要使用Session,而使用Cookies。但是我们一般认为Cookie是不可靠的,Cookies是保存在本机上的,但是其信息的完全可见性且易于本地编辑性,往往可以引起很多的安全问题Session是可靠地。但是目前很多著名的站点也都用Cookie。

3.联系

  1. SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一SessionID提交到服务器端,来存取Session数据。这一过程,是不用开发人员干预的。
  2. Cookies是属于Session对象的一种

4.注意

  • Cookie在添加的时候使用的是response对象,Cookie在获取的时候使用的是requset对象

  • 客户端禁用Cookie,Session也会失效

  • 一次会话中可以有多个cookie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值