IIS Web 服务器概览

作者:IIS 团队 Mike Volodarsky

兼容性

版本 说明
IIS 7.0 及更高版本 本文中所述的功能是在 IIS 7.0 中引入的。
IIS 6.0 及更低版本 在 IIS 7.0 之前的版本中,本文所述功能不受支持。

IIS 7 和更高版本的 Web 服务器具有完全模块化的体系结构,可提供三个关键优势:

  • 组件
  • 可扩展性
  • ASP.NET 集成

组件

现在,所有 Web 服务器功能都作为独立组件进行管理,可以轻松添加、删除和替换这些组件。 与之前版本的 IIS 相比,这可实现几个关键优势:

  1. 通过减少攻击外围应用来保护服务器。 减少外围应用是保护服务器系统的最强大方法之一。 凭借 IIS,可以删除所有未使用的服务器功能,在保留应用程序功能的同时,尽可能减少外围应用。
  2. 提高性能并减少内存占用情况。 通过移除未使用的服务器功能,还可以减少服务器使用的内存量,并通过减少对应用程序的每个请求执行的功能代码量来提高性能。
  3. 生成自定义/专用服务器。 通过选择一组特定的服务器功能,可以生成针对在应用程序拓扑中执行特定功能(例如边缘缓存或负载均衡)进行优化的自定义服务器。 可以使用自己的或基于新的可扩展性 API 构建的第三方服务器组件添加自定义功能,以扩展或替换任何现有功能。 组件化体系结构为 IIS 社区提供长期优势:它有助于在 Microsoft 内部和第三方开发人员之间根据需要开发新的服务器功能。

IIS 还使用应用程序池将 IIS 6.0 中引入的强大 HTTP 进程激活模型组件化。 HTTP 进程激活模型不仅可用于 Web 应用程序,还可以通过任何协议接收请求或消息。 此独立于协议的服务称为 Windows 进程激活服务 (WAS)。 Windows Communication Foundation (WCF) 随附的协议适配器可以利用 WAS 的功能,提高 WCF 服务的可靠性和资源使用情况。

可扩展性

开发人员可以利用 IIS 的模块化体系结构来构建强大的服务器组件,这些组件能扩展或替换现有的 Web 服务器功能,并为 IIS 上托管的 Web 应用程序增添价值。

下面是针对 IIS 进行开发的原因:

  1. 为 Web 应用程序提供支持。 扩展 IIS 可使 Web 应用程序受益于在许多情况下应用层无法轻松提供的功能。 通过 IIS ASP.NET 或本机的 C++ 可扩展性,开发人员可以构建为所有应用程序组件增加价值的解决方案,例如自定义身份验证方案、监视和日志记录、安全筛选、负载平衡、内容重定向和状态管理。
  2. 更好的开发体验全新的 C++ 扩展性模型可缓解以前困扰 ISAPI 开发的大多数问题,引入了简化的对象导向 API,用于促进编写可靠的服务器代码。 此外,更好的 Visual Studio 集成进一步提高了为 IIS 进行开发的体验。
  3. 使用 ASP.NET 的全部功能。ASP.NET 集成使服务器模块能够通过使用熟悉的 ASP.NET 2.0 接口和丰富的 ASP.NET 应用程序服务得到快速开发。 ASP.NET 模块可以统一地为 ASP、CGI、静态文件和其他内容类型提供服务,并且可以完全扩展服务器,而不受 IIS 早期版本中的限制。

ASP.NET 集成

IIS 允许 Web 应用程序充分利用 ASP.NET 2.0 的强大功能和可扩展性。 ASP.NET 功能,包括基于表单的身份验证、成员资格、会话状态和其他许多功能都可用于所有类型的内容,从而在整个 Web 应用程序中提供统一的体验。 开发人员可以使用熟悉的 ASP.NET 扩展性模型和丰富的 .NET API 来构建 IIS 服务器功能,这些功能与使用本机 C++ API 编写的功能同样强大。

使用以下链接开始了解 IIS 配置的各个方面,请参阅实验室了解入门信息,并下载工具包以及在 IIS.NET 上随时可用的资源。

开始学习

入门

  • Windows Server 2008 R2 评估版和虚拟实验室 (https://www.microsoft.com/server-cloud/windows-server/2008-r2-trial.aspx)

下载