转载:IE7与IE8浏览器下session cookie的共享问题以及区别
2011-03-28 23:18
411 查看
众所周知Session cookie被广泛用来做浏览器用户身份校验。在近期的项目测试中就遇到一个相关的问题,发现在两不同的IE8窗口里面并以两个不同用户身份分别登录后,前面登录的用户页面会在第二个用户登录以后刷新成第二个用户信息页面,但是在IE6浏览器下测试是好的,并未发现类似问题。
查了整个项目中session设置的地方,并未发现问题。最后分析是session被浏览器共享了,于是网上查了IE8和IE7的区别,发现相比IE7, IE8的Session管理有很大变化,这是Web开发者需要注意的:
IE7中,同一个窗口(IE 进程)共享一个session。
IE8中,所有打开的IE窗口(IE 进程)共享一个session。除非,用户通过菜单 File > New session 打开新窗口,或者使用命令行参数 iexplore.exe -nomerge 来打开IE。 另外,当所有IE窗口被关闭后,session 结束。
这个问题的关键是,cookie在不同的IE进程间是否共享,有些COOKIE是完全共享的,有的作用域只能局限于单个进程。因为cookie中保存着你的sessionid它被服务器用来决定是否应该生成的新的session。
Session默认情况下是以cookie内存储的sessionId作为识别标志,而cookie在浏览器之间独立的。所以如果是同一个浏览器不管开多少个窗口,都只有一个Session。
解决在IE8浏览器中测试时session共享问题:
1、在IE8的快捷方式的目标栏中添加-nomerge,再打开IE时就不会共享同一个session了。
2、使用命令行参数 iexplore.exe -nomerge 来打开IE。
查了整个项目中session设置的地方,并未发现问题。最后分析是session被浏览器共享了,于是网上查了IE8和IE7的区别,发现相比IE7, IE8的Session管理有很大变化,这是Web开发者需要注意的:
IE7中,同一个窗口(IE 进程)共享一个session。
IE8中,所有打开的IE窗口(IE 进程)共享一个session。除非,用户通过菜单 File > New session 打开新窗口,或者使用命令行参数 iexplore.exe -nomerge 来打开IE。 另外,当所有IE窗口被关闭后,session 结束。
这个问题的关键是,cookie在不同的IE进程间是否共享,有些COOKIE是完全共享的,有的作用域只能局限于单个进程。因为cookie中保存着你的sessionid它被服务器用来决定是否应该生成的新的session。
Session默认情况下是以cookie内存储的sessionId作为识别标志,而cookie在浏览器之间独立的。所以如果是同一个浏览器不管开多少个窗口,都只有一个Session。
解决在IE8浏览器中测试时session共享问题:
1、在IE8的快捷方式的目标栏中添加-nomerge,再打开IE时就不会共享同一个session了。
2、使用命令行参数 iexplore.exe -nomerge 来打开IE。
相关文章推荐
- IE7与IE8浏览器下session cookie的共享问题以及区别
- IE7与IE8浏览器下session cookie的共享问题以及区别
- IE7与IE8浏览器下session cookie的共享问题以及区别
- IE7与IE8浏览器下session cookie的共享问题以及区别
- IE7与IE8浏览器下session cookie的共享问题以及区别
- IE7与IE8浏览器下session cookie的共享问题以及区别
- DIV+CSS相对IE6 IE7和IE8浏览器行为区别及兼容性问题整理
- IE6,IE7,IE8浏览器之间相互兼容的问题
- [JavaScript]IE7,IE8浏览器请求本地资源出现access is denied拒绝访问[转载]
- ie6 ie7 ie8 共存以及Firefox浏览器CSS兼容写法
- strlen与sizeof区别(转载)以及struct,union的sizeof内存对齐等问题
- Div+CSS浏览器兼容问题( FireFox IE6 IE7 IE8 IE9)
- 【转载】解决IE6、IE7、IE8样式不兼容问题
- 谈IE浏览器的CSS兼容问题(IE6 IE7 IE8三大浏览器的CSS兼容速查表)
- IE7兼容模式可以解决IE8 FF浏览器下出现文字重叠问题
- ie6 ie7 ie8 共存以及Firefox浏览器CSS兼容写法
- 区别FF,IE7,IE8,IE6浏览器的CSS hack
- 一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10(转载)
- IE6,IE7,IE8,Firefox 兼容的css hack以及常见兼容性问题
- 如何解决打开IE7、IE8 Session共享问题