Cookie和Session的工作流程

文章介绍了Cookie作为存储用户信息的小型文本文件,用于识别用户并提供个性化服务,尤其在保存登录状态方面。相比之下,Session是服务器创建的内存中临时存储,以Sessionid标识用户,重启服务器可能导致数据丢失。以登录过程为例详细阐述了两者的工作流程。
摘要由CSDN通过智能技术生成

1. 什么是Cookie?

是由网站服务器发送到用户浏览器,存储在用户硬盘的小型文本文件。用来存储用户在这个网站使用的一些信息,这样服务器就可以根据浏览器发送的cookie来识别和跟踪特定的用户,从而提供个性化的服务和内容。cookie存储的格式是一些简单的键值对字符串,不会很占内存,同时cookie也有过期时限,一段时间后浏览器会自动清理cookie。对于不同的网站,都有不同的cookie。而cookie最常见的就是保存用户的登录信息,从而能够保证即使重新访问网站也能保持用户的登录状态,而不用重新登录。

2. 什么是Session?

session是服务器机制,当用户首次通过(或者说没有带cookie)访问网站的时候,服务器会为用户创建一个新的session,session就相当于一个对象,可以存需要的内容。并且会为每个用户分配一个session id, 以 session id为key,以session对象为value存储到内存中的哈希表中。

Servlet的Session默认是保存在内存中的,如果重启服务器则Session数据就会丢失。
 

3. 工作流程

以用户登录为例:

  1. 当用户在网站登录时(点击登录),会向服务器发送一个请求,服务器收到请求,创建session id和session对象。session对象里面保存了用户的用户名和密码,并将session id和session对象存储在哈希表中。
  2. 服务器返回响应,在响应中会带上session id。响应中的session id可以是通过set-cookie设置的,也可以是其他方式。
  3. 用户在浏览器收到服务器返回的响应,响应中有session id,在cookie中保存这个值。这个id就相当于身份令牌,用于让服务器识别自己的身份。
  4. 之后每次访问网站时,都会带上这个cookie,直到cookie过期。带上cookie访问网站之后,就不用重新登录了,因为cookie中的session id已经向服务器验证了你的身份。
  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值