session在服务器是怎么存储的,一般以文件形式寸还是存数据库
1个回答
展开全部
我们一般用的Session可以基于Cookies和Cookieless,前者是将身份标识放在Cookies里面,后者是跟在Url里作为get传递的参数..我们普遍用的前者
第1个问题,你赋值一个Session,
此时这个Session对应的值是存在服务器端,客户端无法直接获取这个值的..每个Session对象都有一个SessionID的属性,表明了该Session的唯一性,客户端会生成1个名称为AspNetSessionId(ASP.NET环境下大概是这个,你可以在FireFox的Cookies列表中查看到)的Cookies,和服务器端的SessionID对应,服务器端只有接受到这个Cookies的值才能判断该浏览者对应于哪个Session..所以你第1个问题就回答完了.
第2个问题,过了超时时间才会失效,服务器端永远不会主动去联系客户端看对方是否超时,只是创建Session对象时会有一个过期时间,超过过期时间对应的客户端还没有访问,则会清空Session对象..至于你说的不同浏览器的问题,暂时没遇到过
第1个问题,你赋值一个Session,
此时这个Session对应的值是存在服务器端,客户端无法直接获取这个值的..每个Session对象都有一个SessionID的属性,表明了该Session的唯一性,客户端会生成1个名称为AspNetSessionId(ASP.NET环境下大概是这个,你可以在FireFox的Cookies列表中查看到)的Cookies,和服务器端的SessionID对应,服务器端只有接受到这个Cookies的值才能判断该浏览者对应于哪个Session..所以你第1个问题就回答完了.
第2个问题,过了超时时间才会失效,服务器端永远不会主动去联系客户端看对方是否超时,只是创建Session对象时会有一个过期时间,超过过期时间对应的客户端还没有访问,则会清空Session对象..至于你说的不同浏览器的问题,暂时没遇到过
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询