开始学习ASP.net------SessionID和Session对应关系

1. Cookie

cookie存储在客户端,通过服务器返回的标头Set-Cookie,由浏览器负责建立,保存,和到期删除。默认情况下,cookie生命周期为浏览器进程周期,服务器也可以显式指定Cookie保存时间,浏览器根据这个指定设置cookie的保存时间,并保存于客户端硬盘。Cookie是Http协议规范的内容,是国际标准。

 

2. Session

Session,存储于服务器端,用于保存一次会话的数据,什么叫做一次会话?这个没有标准定义,由程序员自己确定。如果表示一个会话呢,也就是如何把不同的会话分开呢,一般是通过SessionID,每个Session都有自己的身份证号,就是SessionID。SessionID为一个字符串,一般通过Cookie保存于客户端,浏览器发送请求时,附带这个SessionID,从而服务器端就可以通过SessionID来确定本次请求属于的会话。Session默认生命周期为20分钟,采用滑动生存策略。

 

3. SessionID和Session对应关系

看这样的情况,保存SessionID的cookie生命周期设为1年,而Session周期设为20分钟。如果建立Session后,浏览器20分钟内没有访问服务器,那么20分钟前建立的Session就被释放了,而此时cookie中的SessionID依然存在,但是服务器端已经没有对应此SessionID的Session了。此时,还可以根据着同一个SessionID建立另一个Session。形象地比喻就是:员工号和员工,一个员工号在一个固定的时间只能对应一个员工或者没有对应的员工,但是不同的时间点,同一个员工号可以对应不同的员工。因为员工随时可以辞职和新进,而员工号可以始终保留。

你可能感兴趣的:(浏览器,session,服务器,存储)