Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

IIS 6.0 核心架構:W3SVC、HTTP.sys 與工作進程隔離模式

編輯:關於伺服器

W3SVC:獨立進程的健康守護者

W3SVC 雖不顯眼,但扮演關鍵角色:根據配置資料建立並監視工作執行緒,由工作執行緒運行 Web 應用程式。不同於 IIS 5.0 的 IIS 管理服務(屬 Inetinfo 一部分),IIS 6.0 的 W3SVC 以獨立進程運行,不含第三方程式碼,因此 Web 應用程式故障不會波及 W3SVC。W3SVC 持續運行,可依使用者參數監視並重新啟動應用程式,大幅提升可靠性。

HTTP.sys:核心模式的 HTTP 請求處理引擎

IIS 6.0 最大架構變革是引入 HTTP.sys 核心模式驅動程式,負責處理 HTTP 請求。IIS 5.0/4.0 在使用者模式處理請求,頻繁在核心與使用者模式間切換造成效能損耗。HTTP.sys 在核心模式監聽請求,決定由哪個使用者模式進程處理,或直接從核心模式快取回應靜態內容,極大減少模式切換開銷。

HTTP.sys 管理高度優化的啟發式快取演算法,僅快取多次請求的內容。微軟測試顯示,IIS 6.0 靜態內容回應速度較 IIS 5.0 提升 150%。即使以 IIS 5.0 隔離模式運行,仍受益於 HTTP.sys 快取與其他改進。HTTP.sys 還註冊所有應用程式、賦予進程控制代碼,能快速將請求路由至正確的使用者模式應用程式。

HTTP.sys 額外職責

  • URL 長度與格式驗證
  • 管理傳入要求佇列
  • 記錄 IIS Web 網站日誌(提升日誌效能)
  • 實施頻寬限制與 TCP/IP 管理
  • 處理客戶憑證請求(不含 SSL)

HTTP.sys 設定位於登錄檔 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP,包含 EnableNonUTF8(控制 UTF-8/ANSI/DBCS URL 接受)與 PercentUAllowed(控制 %uNNNN Unicode 格式)等參數,反映 IIS 6.0 在 URL 解析安全性上的強化。

W3Core 與工作進程隔離模式

預設啟用工作進程隔離模式:每個 Web 應用程式由獨立的 w3wp.exe 實例運行。此模式消除進程內應用程式問題,提高可靠性(單一應用程式故障不影響其他)與安全性(預設以權限受限的「網路服務」帳戶運行,非 System 帳戶)。緩衝區溢位攻擊成功時,攻擊者僅能存取網路服務帳戶權限內的資源,無法寫入 Inetpub 目錄,有效阻擋 Code Red 等蠕蟲。

對於不相容的 ISAPI 篩選器(特別是呼叫 SF_READ_RAW_DATA 或 SF_SEND_RAW_DATA),IIS 6.0 提供 IIS 5.0 隔離模式作為備選,仍可受惠於 HTTP.sys 效能提升。

應用程式集區:命名與彈性分組

應用程式集區包含一組可命名的工作進程,解決 IIS 5.0 無法命名 dllhost.exe 實例、無法將特定應用程式分組的限制。透過網站屬性「主目錄」頁即可輕鬆將網站或目錄歸入指定集區。

工作進程隔離模式架構圖 網路服務帳戶設定 應用程式集區設定介面

Copyright © Windows教程網 All Rights Reserved