session的情况:
如果窗口a 是已经登陆了的,有session,那么在a 中点击任何一个连接新打开的窗口都是有session。
从窗口a中,采用window.open()等js方法打开的窗口也都拥有session.
从窗口a中,点击 文件(f)->新建窗口,这样新建的窗口也有session.
myie中的创建窗口都类似 ie中的在同一窗口点击文件->新建窗口,所以只要输入正确的地址都能取到session
新开窗口取不到session。
ie,自己手动开启一个新窗口(点击图标,新开一个窗口).这种情况下,即使输入正确的和窗口a一样的地址也取不到session.
在ie中,打开webfolder,或者msoffice等支持http1.1扩展协议的在线编辑的软件,也是取不到session。
总结一下:
session取不到的主要原因是因为http是无状态的通信协议,所以在不同的进程之间无法共享session,因为虽然你双击打开的新窗口且输入了同一地址,但是http协议的无状态特性,客户端和服务器都不会主动的去记录他们之间的连接状态.session和cookie正是为了明确客户端和服务器之间通信的记录,或者说表明他们之间的关系的这么一种机制..
你可以把session / cookie的这种机制想象成为 京客隆超市 的会员卡. 你有这张会员卡,售货员就能知道你是什么级别的会员,商品应该按照什么样的会员价格卖给你.
session的处理方式比较多. php默认的处理机制是采用在服务器段保存以session_id的方式保存session.
可以这么理解,超市只给了你一个id卡,你的所有信息都是存放在超市的电脑里,而不是一张ic卡,信息存在卡片里.因为超市的分店之间没有联网,所以你的id卡,就不能在其他分店里用了