日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

IE8 ie9 瀏覽器“會話”問題

 quasiceo 2014-08-09
分類: 電腦知識 2012-02-28 13:03 1754人閱讀 評論(0) 收藏 舉報
 在ie8以上的的瀏覽器中,默認情況下,直接使用ie的快捷方式打個多個ie窗口,這些所有的窗口都會向服務(wù)器傳遞同一個cookie值,從而服務(wù)器會認為這些窗口的會話都是同一個會話,會引發(fā)一些意想不到的后果。

手動打開的兩個瀏覽器進程,訪問同一個頁面,發(fā)送/接收到的cookie是同一個值。這是瀏覽器本身所設(shè)計的,無法通過程序來更改。但是在客戶端可以通過以幾種方式設(shè)置后,讓不同的瀏覽器使用不同的會話:

 

1、  打開瀏覽器后,選擇文件菜單下的新建會話選項來打開一個新的瀏覽器窗口。

2、  對iexplore.exe添加一個快捷方式,在快捷方式后邊添加上啟動參數(shù)-nomerge,以后使用該快捷方式啟動瀏覽器:

3、  修改注冊表,在注冊表項HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main下新加一個dword值TabProcGrowth=0,讓它 Loosely Couple

 

  1. Windows Registry Editor Version 5.00  
  2.   
  3. [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]  
  4. "TabProcGrowth"=dword:00000000  

 附:Windows 7 研究——IE8 松散耦合進程框架探索(轉(zhuǎn)自:http://www./html/8972.html

 在2008年8月份IE8 Beta剛剛面世不久的時候,我曾經(jīng)用極短的篇幅介紹了一下IE8的新的Tab控制模型(詳情見:《IE8 新特性分析:IE8的穩(wěn)定性源自何處》 一文)。今天,我將繼續(xù)和大家分享一些最近一段時間獲得的新的知識。

IE8 松散耦合進程框架,英文原文是Loosely Coupled IE (LCIE),是一種基于作業(yè)(Job)的進程管理方式。這種方式已經(jīng)逐漸被各大瀏覽器所采用,例如Google Chrome。

下圖是IE8的LCIE框架結(jié)構(gòu):

作業(yè)是Windows 2000引入的一種進程管理方式,可以用一個宿主進程管理多個子進程。管理進程可以給子進程設(shè)置很多屬性,特別是一些和性能相關(guān)的屬性,具體可以參考SetInformationJobObject Function (Windows) 的API說明文檔。

當我們安裝完IE8以后,打開一個Tab,使用 Process Explorer 會發(fā)現(xiàn),有2個iexplore.exe實例,這個就是最典型的LCIE表現(xiàn):Tab工作在進程空間里面,有一個獨立的框架進程用于管理Tab進程。

如下圖所示,我打開了4個Tab,出現(xiàn)了4個Tab進程(進程ID分別為 9000、9672、6052、3056),框架進程的進程PID是7416:

        因 為LCIE的模型決定了IE的框架和Tab是獨立的進程體,因此相互之間是需要通信的,根據(jù)Process Explorer的顯示,框架進程和Tab進程的通信是使用的ALPC(高級本地過程調(diào)用,在Windows內(nèi)核里面經(jīng)??梢砸姷?,效率很高)機制(在 Windows Vista上面),關(guān)于LPC的技術(shù)解釋,請Google搜索。

我們繼續(xù)研究LCIE的 標簽創(chuàng)建方式。當我們新開啟一個Tab以后,系統(tǒng)會創(chuàng)建一個iexplorer.exe進程用于和這個Tab綁定,那么我開啟10個Tab以后,是10個 進程嗎?實際的測試結(jié)果是:不一定。具體創(chuàng)建多少個Tab進程實際是由IE框架確定的,根據(jù)目前已知的結(jié)論,IE框架會根據(jù)可用的物理內(nèi)存大小確認最多創(chuàng) 建幾個Tab進程。

注:默認情況下,我的2臺筆記本(物理內(nèi)存均配置了4GB,可用內(nèi)存一般在1.5GB左右)在Windows Vista里面,創(chuàng)建的Tab進程最多是5個。

那么,是否有可能控制Tab進程的數(shù)量呢?答案是可以的。IE8 Frame在啟動的時候,會檢查注冊表

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main下面的TabProcGrowth鍵值(鍵值類型DWORD),利用這個鍵值,就可以操作IE8的Tab數(shù)量了。

TabProcGrowth=0 IE框架和Tab工作在一個進程里面,Tab采用線程的方式創(chuàng)建。

當TabProcGrowth=0的時候,IE的保護模式(Protect Mode)會關(guān)閉,這種模式類似于在Windows Vista下面把 IE7 以 run as administrator方式啟動。
TabProcGrowth=1 IE框架和Tab工作在不同的進程里面。

但是Tab按照不同的mandatory integrity level (MIC)創(chuàng)建,舉例就是需要關(guān)閉保護模式的Tab工作在一個瀏覽進程里面,另外的工作在另外的一個瀏覽進程里面。

例 如:我把taobao.com和kztechs.com加入了Trusted Site列表里面,當使用這個模式的時候,訪問taobao.com和kztechs.com的時候,Tab將工作在一個進程里面,而訪問其他的站點的時 候,Tab將工作在另外的一個進程里面。

這是因為加入Trusted Site列表以后,IE的保護模式會關(guān)閉,MIC等級的不同造成了的不同的Tab進程的出現(xiàn)。
TabProcGrowth>1 在這個模式下,TabProcGrowth的值將決定最多創(chuàng)建的Tab進程數(shù)目。如果TabProcGrowth為100,那么最多創(chuàng)建100個Tab進程。
TabProcGrowth 不存在(默認情況) 使用默認的機制,根據(jù)可用的物理內(nèi)存數(shù)量決定Tab進程的數(shù)量。

 

關(guān)于IE8 LCIE的FAQ:

1、為什么不是每個Tab一個進程,而有一個上限呢?

因 為創(chuàng)建一個進程的開銷是遠遠大于創(chuàng)建一個線程的,創(chuàng)建一個進程,需要重新加載所有相關(guān)的模塊,而且進程間的切換也會帶來很大的性能損耗。IE8的LCIE 機制在達到Tab進程最多數(shù)目以后,后續(xù)的新開網(wǎng)頁將將采用負載平衡的機制讓不同的Tab進程進行處理,以達到資源的最大利用。

2、LCIE模型里面,會話是怎么處理的?我怎么感覺到不同的Tab都使用的是同一個會話呢?

的確,因此Tab進程的出現(xiàn),會話的處理是比較關(guān)注的一個點。在IE8里面,會話是和IE框架綁定的, 在這個IE框架下的所有Tab,共享同一個會話,具體來說就是:假設(shè)第一個Tab進程訪問了msdn.microsoft.com網(wǎng)站并屬于了Live ID登錄以后,后續(xù)新開的Tab進程如果也訪問了msdn.microsoft.com網(wǎng)站,那么是共享剛才的Live ID的,除非過期;而且,即使你從開始菜單里面點擊IE圖標,新創(chuàng)建的窗口也是使用先前的會話的。

3、在LCIE模型里面,如果讓不同的窗口使用不同的會話呢?

要在IE8里面,讓不同的窗口使用不同的會話,可以點擊文件菜單-->新建會話菜單項,使用這個方式,新創(chuàng)建的窗口將采用一個新的會話,以便和之前的會話區(qū)分開來。

4、為什么有時候IE8 Tab進程在訪問的頁面關(guān)閉以后,Tab進程還是存在呢?

這 是為了性能考慮的,防止用戶馬上又新開一個窗口,前面說過創(chuàng)建一個Tab進程是需要很多資源的。在默認情況下,IE8的Tab進程在網(wǎng)頁窗口關(guān)閉以后,將 駐留60秒時間,然后再退出。當然,我們也可以通過設(shè)置注冊表 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main下的TabShutdownDelay DWORD鍵值來控制Tab進程的退出時間。注意:TabShutdownDelay的單位是毫秒(1秒等于1000毫秒)。


 

文末:

IE8 相對于IE7來說,無論是進程框架和渲染引擎都得到了極大的改善和優(yōu)化,而且在各種標準支持方面都比IE7好了不少,雖然IE8不是最快的瀏覽器,也不是 應試分數(shù)最好的瀏覽器,但是無論是兼容性還是安全性方面,都是值得大家去安裝的。如果你是因為受不了IE7的慢而使用FireFox或Chrome瀏覽器 的,現(xiàn)在可以再體驗一下IE8,相信會比IE7有著明顯的改善的,呵呵。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多