最近的項目
測試中,一個同事機器裝的是IE8,當打開2個IE8窗口並以2個不同用戶身份分別登錄后,之前登錄的用戶頁面會在第二個用戶登錄以后刷新成第二個用戶信息頁面。但是在我的本機(IE6)是好的,並未發現類似問題。
我查了整個項目中session設置的地方,並未發現問題。最后分析是session被瀏覽器共享了,於是網上查了IE8和IE7的區別:
IE7中,同一個窗口(IE 進程)共享一個session。
IE8中,所有打開的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。