Cookie同Session的关系

Cookie同Session的关系

  1. asp.net中Session可以采用cookie 和cookieless两种方法,cookieless方式是将SessionID放在URL中在客户端和服务端中来回传递,不需要用到cookie,在这里不讨论这个方式。

  2. 在asp.net中客户第一次请求一个URL,服务器给这个客户生成一个SessionID,并以非永久性的 Cookie发送到客户端。

  3. 非永久性的 Cookie只有在浏览器关闭后这些Cookie才随之消失,Session的超时判断是这样的过程:

  3.1 第一次客户端访问服务器,会得到一个SessionID,以非永久性的 Cookie发送到客户端。

  3.2 在这个浏览器关闭之前访问这个URL,浏览器都会把这个SessionID发送到服务端,服务端根据SessionID来维持对应此客户的服务端的各种状态(就是Session中保存的各种值),在web应用程序中可以对这些Session进行操作。

  3.3 服务端维护此SessionID的过期时间,IIS中可以设置Session的超时时间。每次请求都将导致服务端将此SessioID的过期时间延长一个设置的超时时间。

  3.4 当服务端发现某个SessionID已经过时,即某个客户已经在设置的超时时间内没有再次访问此站点,即将此SessionID,连同跟此SessionID相关的所有Session变量删除。

  3.5 客户端的浏览器未关闭前,并不知道服务端已经将这个SessionID删除,客户端依旧发送此SessionID的cookie到服务端,只是此时的服务端已经不认识此SessionID了,会将此用户当做新用户,再次分配一个新的SessionID。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CookieCookies)和 Session(会话)是用于在客户端和服务器之间跟踪用户状态和数据的关键概念。它们之间有以下关系: - CookieCookie 是在客户端(通常是浏览器)上存储数据的小型文本文件。服务器通过响应的 Set-Cookie 头部将 Cookie 数据发送给客户端。一旦客户端接收到 Cookie,它会将其存储在本地,并在后续的请求中自动将 Cookie 附加到相应的请求头部中发送给服务器Cookie 可以包含各种信息,包括会话标识符(session ID)、用户首选项、跟踪数据等。 - SessionSession 是一种在服务器端跟踪用户状态和数据的机制。服务器会为每个用户创建一个唯一的会话标识符(session ID),并将其存储在服务器上。当用户首次访问服务器时,服务器会为该用户创建一个新的会话,并将会话 ID 发送给客户端,通常通过 CookieURL 参数的方式。客户端在后续的请求中会将会话 ID 作为身份凭证发送给服务器,以便服务器能够识别用户并检索相关的会话数据。 - 关系CookieSession 通常一起使用来实现会话管理。服务器在创建会话时会生成一个唯一的 session ID,并将其存储在 Cookie 中发送给客户端。客户端在后续的请求中会自动将该 Cookie(包含 session ID)附加到请求中发送给服务器服务器通过解析请求中的 session ID,可以找到对应的会话数据,从而实现用户状态的跟踪和数据的存储。 总结来说,Cookie 存储在客户端,用于保存会话标识符和其他相关数据;Session 存储在服务器端,用于存储和跟踪用户状态和数据。CookieSession 一起协作,实现了跨请求的会话管理功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值