網際網路資訊服務

-{zh-tw:網際網路資訊服務（），在中國大陸被稱為Internet信息服務;zh-cn:互联网信息服务（），在台湾被称为网际网路资讯服务}-，是由微軟公司提供的基於運行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=http://* :{端口号}/ user=everyone
 netsh http delete urlacl url=http://* :{端口号}/

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網站 
 Web與應用服務（IIS6.0） 
 在Windows Vista Home Premium上安裝IIS 7.0

參見 

 Microsoft Personal Web Server
 Windows Server

微軟伺服器技術
FTP服務器
網頁伺服器
郵件傳送代理