Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  Asp.net  >  正文 asp.net中Cookie同Session的关系

asp.net中Cookie同Session的关系

发布时间:2015-09-25   编辑:www.jquerycn.cn
asp.net中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。

您可能感兴趣的文章:
asp.net中Cookie同Session的关系
ASP.NET的Session使用浅析
Web会话状态的维持
PHP中会话管理Cookie和Session的例子
PHP session实现跨子域的几种办法
浅析php中session和cookie的区别和联系
PHP中的Session和Cookie
php session跨域跨服务器的解决方法分享
php中Session工作原理与用法详解
有关php中session的疑惑

[关闭]