Servlet会话技术中,cookie和session的概念和区别

Cookie概念

       Cookie 是存储在用户本地终端上的数据(客户端技术)。它通常用于跟踪用户的会话信息。当用户访问某个网站时,网站会向用户的浏览器发送一个或多个 Cookie,然后浏览器将这些信息存储在本地。每次用户重新访问该网站时,浏览器都会将这些 Cookie 信息发送给服务器,以便服务器识别用户并记住他们的偏好或登录状态。

示例:

浏览器中可以查看到cookie

Session概念

       Session 是存储在服务器上的数据(服务端技术),用于跟踪用户的会话信息。当用户访问网站时,服务器会为该用户创建一个唯一的 Session ID(Session对象),并将此 ID 发送回用户的浏览器。用户的浏览器在后续请求中会携带这个 Session ID,服务器通过这个 ID 来识别用户并获取其会话信息。一个session独占一个浏览器,只要浏览器没有关闭,这个session就存在

示例:

区别

  • 存储位置: Cookie存储在客户端的浏览器上;Session存储在服务器端。
  • 安全性: Session更安全,因为它不暴露给客户端。
  • 大小限制: Cookie的大小有限制(通常不超过4KB),而Session没有严格的大小限制。
  • 生命周期: Cookie可以设置有效期(用setMaxAge()方法);Session默认在用户关闭浏览器后失效,但可以通过设置最大非活动间隔来控制。

过程示例(帮助理解)

Cookie 示例:

  1. 用户首次访问网站时,服务器生成一个 Cookie 并发送给用户的浏览器。
  2. 浏览器存储这个 Cookie。
  3. 用户再次访问网站时,浏览器会自动将这个 Cookie 发送给服务器。
  4. 服务器读取 Cookie,识别用户,并显示相应的内容。

Session 示例:

  1. 用户首次访问网站时,服务器为该用户创建一个 Session,并生成一个唯一的 Session ID。
  2. 服务器将这个 Session ID 发送给用户的浏览器。
  3. 用户再次访问网站时,浏览器会自动将这个 Session ID 发送给服务器。
  4. 服务器根据 Session ID 识别用户,并从 Session 中获取用户的会话信息,显示相应的内容。

还有一个我看到的一个例子也放到这里:

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值