網際網路資訊服務

-{zh-tw:網際網路資訊服務（Internet Information Services，簡稱IIS），在中國大陸被稱為Internet信息服務;zh-cn:互聯網信息服務（Internet Information Services），在臺灣被稱為網際網路資訊服務}-，是由微軟公司提供的基於運行Microsoft Windows的網際網路基本服務。最初是Windows NT的可選包，隨後成為Windows 2000、Windows XP Professional和Windows Server 2003的可選元件，但在Windows XP/Vista/7/8/10 家用版本上並沒有IIS。
IIS包括FTP/FTPS、NNTP、和HTTP/HTTPS、SMTP等服務。
IIS可設定的內容包括：虛擬目錄及存取權限、預設文件名稱、以及是否允許瀏覽目錄。

**各種版本**

**IIS 5**
IIS即為InetInfo.exe進程。aspx頁面映射到該進程的aspnet ISAPI.DLL上。對aspx頁面，aspnet ISAPI.DLL創建aspnet_wp.exe工作者進程（Worker Process）。IIS進程與工作者進程之間的通信，採用命名管道。
工作者進程初始化時加載CLR。一臺服務器只運行一個aspnet_wp.exe工作者進程進程。每個ASP.NET應用程序在工作者進程中有自己單獨的AppDomain。AppDomain有自己單獨的context，實現了安全隔離。

**IIS 6**
IIS 6服務器通過運行於核心態的協議偵聽器組件Http.sys來接受客戶的http請求。然後查看該請求的Application屬於哪個應用池，把請求發到相應的應用池的隊列中。 如果該應用池不存在，則創建它。應用池通過工作進程隔離來分割ASP.NET應用程序，防止彼此間的干擾。

每個應用池對應一個運行在用戶態下的w3wp.exe工作者進程。在IIS Metabase 中維護著 Application Pool 和worker process的Mapping。工作者進程初始化時，加載ASP.NET ISAPI DLL，該DLL加載CLR。WAS（Web Administrative service）負責調度工作者進程將執行應用池隊列中哪個http請求。

**IIS 7**
IIS 7服務器通過運行於核心態的組件Http.sys（HTTP 協議堆棧）來接受客戶的http請求。再通過Process（Web Process Activation service，WAS）與WWW Publishing Service（W3SVC）兩個用戶態的系統服務來查詢、調度對應的應用程序池（Application Pool）開啟W3WP.exe工作者進程。
W3WP.exe工作者進程中可選擇經典模式或集成模式來執行ASP.NET應用。
*經典模式：與IIS 6處理方式一樣根據網頁的類型，分派給各自的 IIS ISAPI extension；ASP.NET扮演了一個ISAPI過濾插件器的角色，aspx由aspnet_isapi.dll進入CLR處理再返回給流水線。
*集成模式：已經預加載了CLR，所有的HTTP請求（包括html, php等）都要經過Web Server Core（IIS Core）的有序的若干步驟（稱為事件）。當請求完成Web Server Core的所有事件，會給HTTP.sys返回http響應。

**IIS Express**
IIS Express是IIS的輕量化版本，能夠被安裝在Windows XP Service Pack 3與之後版本的Microsoft Windows。IIS 7.5 Express只支援HTTP或HTTPS。
IIS Express可以單獨下載安裝或是為Microsoft WebMatrix安裝的一部分。另外，Visual Studio 在編寫網頁 / 網站並測試運行時也使用 IIS Express 提供虛擬站點服務，避免直接打開本地網頁時頁面上的 JavaScript 由於安全設置而被屏蔽。
在命令行使用IIS Express：
增加一個site：
"C:\Program Files\IIS Express\appcmd.exe" add site /name:MyNewSite1 /bindings:"http://localhost:58128" /physicalPath:"D:\MyPrograms\WebApplication1\WebApplication1"
查看site列表：
"C:\Program Files\IIS Express\appcmd.exe" list site
啟動site：
"C:\Program Files\IIS Express\iisexpress.exe"  /siteid:3
或者
"C:\Program Files\IIS Express\iisexpress.exe"  /site:
啟動一個臨時網站：
"C:\Program Files\IIS Express\iisexpress.exe" /path:"G:\01code\04MVC\01bamin\Code\BaminSolution\BM.Admin" /port:8899 /clr:v4.0 /systray:true
IIS Express 默認只支持本地連接，不能用ip去訪問。開啟/關閉外部連接：
netsh http add urlacl url= :{端口號}/ user=everyone
netsh http delete urlacl url=:{端口號}/
IIS Express配置文件默認位於“我的文檔\IIS Express\Config\”。其中，applicationhost.config是核心配置文件，包含了site的定義、應用程序和應用程序池以及整個WEB服務器的配置。

**兼容性**
IIS是在Windows操作系統平臺下開發的，這也限制了它-{只}-能在這種操作系統下運行。在Windows XP Professional中IIS的一些功能做出了限制，以與Windows Server 2003有所區隔。

**安全性**
IIS的發展伴隨著安全漏洞；而隨著IIS 6.0的發佈，這種情況有所好轉。在低於6.0的版本中，其使用者權限是系統用戶；而在IIS 6.0中，引入了網絡服務帳戶，這是一個限制用戶。這樣，即使服務遭到了破壞，也不會造成系統的癱瘓。

**擴充性**
 FTP Publishing Service
 可提供FTP或FTPS的架站服務
 Administration Pack
 管理者套件
 Database Manager
 Web版的資料庫管理介面
 Dynamic IP Restrictions
 防止網站受到DDoS（分散式阻斷服務）或是惡意產生大量並行流量的用戶端攻擊 
 Windows Media Services
 URL Rewrite Module
 URL複寫模組，可隱藏真實的URL格式
 Search Engine Optimization Toolkit
 搜尋引擎最佳化套件
 Web Deployment Tool
 網站發佈工具
 WebDAV 
Extension
 允許管理員指定自定義的WebDAV的每個URL的基礎上的安全設置。
 PHP For Windows
 為IIS加上PHP網頁的執行能力

**參考文獻**

**外部連結**
  臺灣微軟IIS網站 date=20210422222350 -  Web與應用服務（IIS6.0） date=20171101195633 -  在Windows Vista Home Premium上安裝IIS 7.0 date=20171015150133 

**參見**
 Microsoft Personal Web Server- Windows Server