模組化的Web新平台 IIS7 5擴充套件性討論

2021-05-21 19:25:33 字數 2385 閱讀 8609

iis 7的擴充套件應用

隨著windows server 2008 r2的推出,iis的版本從7.0公升級到7.5,增加了很多新的特性。iis 7.0具有前所未有的擴充套件性,在微軟windows server中是乙個里程碑式的web伺服器平台。iis 7.5延續了iis 7.0的模組化、可擴充套件等基本特性,並增加了powershell命令列、admin擴充套件等新特性。本文中我們將討論iis 7.5的可擴充套件性,看iis 7.5如何讓您的web應用變得簡單。

iis 7的擴充套件應用

iis 7的可擴充套件模型讓web和系統開發人員可以應用介面友好,功能完善的api,結合iis 7包含的服務、擴充套件功能、模組和工具構成乙個強大的web平台。

iis的擴充套件應用

上圖列出了一些常見的iis平台擴充套件應用,更詳細的資訊可以通過http://www.iis.net/extensions獲得,這些應用基於windows server 2008和r2。其中的一些擴充套件應用是狠心的,如web platform installer就是在iis 7中才引入,而url rewrite模組目前已經很受歡迎。url rewrite模組提供了乙個基於規則的重寫機制,用於在web伺服器處理url請求前更改它們。

基於windows server 2008 r2的iis 7.5整合了一些擴充套件應用,在iis 7.5平台上還具有一部分擴充套件功能

應用iis 7,你可以根據自己的需求定**務器,如果你想寫乙個自己的功能模組,比如壓縮模組等,應用iis 7可以簡單的實現。雖然應用iis 6也可以做到這些事情,但是需要isapi filters和一些擴充套件功能,操作起來並不方便。

可擴充套件意味著可以為你的web伺服器選擇一些定製化的模組進行安裝,此外,在iis 7中,即使模組已經可用,使用者也可以新增新的或定製化的模組, 在www.iis.net上已經發布了擴充套件的api,讓開發者可以在web伺服器上新增或替換模組。隨著windows server 2008的發布,iis具有了很多的擴充套件功能,並且其中一部分被整合到了r2中,iis團隊還會繼續開發新的擴充套件功能,可以安裝在iis上,保證r2中iis 7.5的更新。

模組化可擴充套件架構

iis 7(7.0/7.5)在增強的api上採用了完全模組化的架構,這讓開發者可以方便的新增、刪除、甚至用自己建立的模組來代替iis 7中內建的元件,這樣可以讓web站點更加個性化,符合自身的要求。此外,這種模組化架構讓web管理員可以在伺服器表面層對伺服器進行完全的控制,僅僅需要安裝和管理需要的元件,這樣降低了web伺服器的受攻擊表面,提高安全性,還可以將資源利用率降到最低。

iis 7被分成40多個功能模組,可通過api擴充套件web伺服器功能

iis 7模組化的安裝模式

除了iis 7本身的架構,iis 7的管理系統,以及iis管理工具同樣也是完全可擴充套件的,為開發者和管理員提供豐富管理功能。因為iis 7是乙個完全模組化的web伺服器平台,所以管理員可以對web伺服器表面區域進行完全的控制。

整合的管道(pipelines)

iis 6.0以及之前版本的iis支援通過asp.net平台開發.net應用元件,asp.net通過isapi擴充套件和iis整合,乙個asp.net請求首先會被iis處理,然後**到安置asp.net管道和頁面框架的asp.net isapi dll。而對非asp.net的請求,如asp頁面、靜態檔案,將被iis或其他isapi擴充套件處理。

iis 6.0 & asp.net管道

這種模型的限制是asp.net模組、以及定製化的asp.net應用**所提供的服務是不針對非asp.net請求的。asp.net模組不能影響在asp.net執行路徑前後的iis處理請求。

iis 7的整合管道模式

而iis 7提供了統一的請求處理管道,將asp.net請求管道和iis核心(native)請求管道整合在一起,任何型別的請求都由iis 7處理,不管是iis核心模組還是asp.net模組在所有場景下都能處理請求,這使得處理驗證、快取輸出等工作的asp.net模組可以用來處理asp頁面、php頁面、靜態檔案等請求。整合管道提供更好的效能,實現配置和管理的模組化,且增加了使用託管**模組擴充套件iis時的靈活性。

新平台的WinCE移植經驗小結

最近在一款arm11的開發板上移植wince6.0,碰到了一些問題,也收穫了一些經驗。雖然arm wince的開發已經做過一段時間了,但開始用一款新的mcu時,總會碰到這樣那樣的問題。首先是datasheet,看慣了三星的文件,總覺得datasheet就該那麼寫,條理清晰,方便檢視。但不同廠家的文件...

Web前端 模組化程式設計

匯出 let cat let dog let name 測試文字 function sum a,b 同下 簡寫 exports 同下 簡寫 module.exports 同上,原生 module.exports 匯入 可以匯出全部 const m require exportes51 可以匯出部分 ...

web模組化規範和實現

規範commonjs和實現nodejs math.js function add x,y module.exports main.js var math require math console.log 2 2 math.add 2,2 node main.js 規範amd和實現requirejs ...