网际网路资讯服务

-{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