Session,用户访问网站过程中的会话,Web上这种会话方式是无状态的,一般用于保存用户名等单个用户的信息,比QueryString安全,在浏览器关闭或者Session到期(默认20分钟)时关闭,Session也可以存储数组信息。
1.同一浏览器,不同会话窗口Session的情况。
IE:同时两个会话窗口的SessionID是不一样的,Session不会共享。所以在IE浏览器中,已经打开了一个IE浏览器输入网址认证后的信息保存在Session中后,再重新打开一个IE浏览器会话(第一次打开的没有关闭)然后输入上面已认证的网址,会发现SessionID已改变,保存的Session值已丢失。
Firefox: 同时两个会话窗口的SessionID是一样的,Session会共享。所以在Firefox浏览器中,已经打开了一个firefox浏览器输入网址认证后的信息保存在Session中后,再重新打开一个Firefox浏览器会话(第一次打开的没有关闭)然后输入上面已认证的网址,会发现SessionID不变, Session中的值没有丢失。
(说明:如果是点击窗口的页面内容中的网址而打开了新的窗口,在新的窗口中SessionID是不会变的,Session中的值也不会丢失,两种浏览器都一样!跟上面的情况不要混淆了哦!)
2.同一浏览器,关闭打开会话窗口,再打开新的会话窗口Session的情况。
打开一个浏览器输入网址认证完后保存值到Session中,然后关闭浏览器,再重新打开一个浏览器会话,再输入认证完后的完址,发现SessionID已改变,值已丢失。上述情况适合IE与Firefox浏览器。
3.不同浏览器之间不会共享Session
原因:Session依懒于SessionID,SessionID保存在cookies,但IE与Firefox浏览器没有共享cookies,它们保存cookies的位置都没一样。