当发生Web应用程序故障时,IIS 6.0会在回收工作进程的同时维护客户端的TCP/IP连接。该功能可以避免因为Web应用程序的不稳定给客户端带来的负面影响。对那些没有内置重试逻辑的 Web 服务客户端而言,该功能尤其有用。
CPU 和进程节制
通过 IIS 6.0,管理员可以限制 Web 应用程序或站点占用的 CPU 时间量,从而确保其它网站或非Web应用程序的处理器时间,并因此实现更高的性能。借助进程节制功能,管理员可以限制 Web应用程序或站点在事先确定的时间段内占用 CPU 的时间量,从而确保其它网站或非 Web 应用程序有可用的处理器时间。
可管理性
功能
描述
XML 配置数据
IIS 6.0 的配置数据库是一个利用可扩展标识语言(Extensible Markup Language,XML)存储 Web 服务器配置数据的纯文本文件。用 XML 代替 IIS 4 和 IIS 5 中使用的二进制格式数据存储方法后,管理员可以使用标准的文本编辑工具轻松地阅读和编辑配置信息。来自于 IIS 4 和 IIS 5 的现有二进制配置数据库信息可自动升级为新的 IIS 6.0 配置数据库格式(XML)。通过使用 XML 这种广为使用的标准格式存储配置信息,管理员可以不必编写脚本来更改配置即可管理他们的 Web 服务器体系。XML 配置数据还允许第三方应用程序(如系统监视和管理工具)访问 IIS 6.0 配置数据,从而提供了更好的工具集成功能。
运行的同时进行编辑
IIS 6.0 为管理员提供了在保持服务器运行的情况下更改服务器配置的重要能力。例如,管理员可以添加新站点、创建虚拟目录,或更改应用程序池和工作进程的配置 -- 所有这一切都能在 IIS 6.0 继续处理请求的情况下进行 —— 而且不需要重新编译或重新启动。您可以手动或以编程方式编辑配置数据库。要手动更改服务器配置,可使用任何文本编辑工具(例如,Microsoft 的“写字板”)打开基于 XML 的配置数据库,然后更改该文件中的配置信息。要以编程方式更改服务器配置,请使用包含 Windows 管理规范(Windows Management Instrumentation,WMI)或 Active Directory® 服务接口 (ADSI) 结构的脚本。
在Windows Server 2003 中包含了 Microsoft 管理控制台 (MMC)。这是一个针对管理应用程序的可扩展共用陈述服务。IIS 6.0 的 IIS Manager 组件与 MMC 完全集成在一起。管理员和其他用户可以通过各个供应商提供的管理单元创建自定义的管理工具。管理员随后可以保存他们创建的工具,以备将来使用或与其它管理员和用户共享。通过这种模型,管理员可以有效定制工具,并且创建不同复杂程度的多个工具用于任务委派。
命令行管理
使用 Windows Server 2003 命令行,IIS 6.0 管理员可以仅通过一个命令就完成多个管理任务(例如,管理多台本地计算机或远程计算机)。
基于脚本的管理
IIS 6.0为用户通过命令行自动执行常见的系统管理任务提供了完善的脚本环境 —— 不需要用户界面。您可以用任何支持 Microsoft ActiveX® 脚本宿主的脚本语言编写脚本。这些宿主包括 Visual Basic® Scripting Edition (VBScript)、Microsoft JScript® 以及 PERL。您可以使用或修改 IIS 6.0 所提供脚本库中的脚本来管理 Web 服务器基础结构。IIS 6.0 脚本可以使用 WMI 或 Active Directory 服务接口结构。
支持 Windows 管理规范 (WMI)
作为一种配置服务器和检索重要系统管理数据(例如性能计数器和配置文件)的新途径,Windows 2000 引入了 WMI。现在,IIS 6.0 提供了对 WMI 的完全支持,从而为 Web 管理员提供了一组丰富的编程接口,使他们可以用更为强大和更为灵活的方式管理整个 Web 基础结构。WMI 接口本质上类似于当前仍然被支持的 Active Directory 服务接口。它们用于管理脚本中,因此可用于修改基于 XML 的配置数据库。
支持 Active Directory 服务接口 (ADSI)
管理员和应用程序开发者可以在现有的 Active Directory 服务接口 (ADSI) 提供程序中添加自定义的对象、属性和方法,从而实现更为灵活的站点配置。ADSI 是基于 COM 的目录模型,它允许兼容 ADSI 的客户端应用程序仅使用一组标准接口即可访问一系列不同的目录协议(包括 Windows 目录服务和 LDAP)。ADSI 使客户端应用程序不必关心基础数据存储方法和协议的实现方式以及操作细节。
使用基于 Web 的远程管理工具从任何 Intranet Web 浏览器管理 IIS 6.0 Web 服务器。
使用“终端服务”连接和管理运行 IIS 6.0 的远程服务器,就如同在本地登录那样。
还可以使用 WMI 或 Active Directory 服务接口脚本,以编程方式管理远程服务器。
基于 Web 的管理
使用基于 HTML 的 IIS 远程管理工具,系统管理员可以通过 Web 浏览器跨越 Internet 或 Intranet 对 IIS 6.0 进行远程管理。
二进制和 UTF-8 日志功能
IIS 6.0 中的二进制日志功能允许多个 Web 服务器在同一日志文件中写入不带格式的二进制条目。由于不必用特殊方式对数据进行格式化,因此这种新的日志格式提供了比当前基于文本的日志格式(如 W3C,即 World Wide Web Consortium;NCSA,即 National Center for Supercomputing Application;或 IIS)更高的性能。此外,IIS 6.0 现在还支持用 UTF-8 的格式写入日志文件,而不用 ASCII 或本地代码页。
作为 Windows Server 2003 操作系统中得到极大改进的修补程序管理的一部分,IIS 6.0 新的容错架构意味着不必为了安装热修补程序(包括安全性方面的热修补程序)而关机。您不必为了执行安装而登录计算机。此外,Auto Update 版本 1.0 还提供了三个修补程序管理选项:
一旦修补程序发布,用户便可得到通知,告知该修补程序可用
下载修补程序并通知修补程序可用
计划安装。这样可以在您选择的时间下载和安装修补程序。
伸缩性
功能
描述
默认情况下,在升级和安装时处于锁定状态
为减少Web 基础结构可能遭受攻击的环节,默认情况下,安装 Windows Server 2003 时并不会安装 IIS 6.0。此时,管理员必须明确做出选择才会安装它。现在,如果要部署服务器来运行邮件服务器、Microsoft SQL Server™ 或者仅运行操作系统本身,在安装了 Windows 之后不必卸载 IIS 6.0。在将服务器升级为 Windows Server 2003 时也会禁用 IIS 6.0。此外在安装 IIS 6.0 时,默认情况下它将被配置为锁定状态。在安装后,IIS 6.0 仅接受对静态文件的请求,除非对它进行配置,让它服务于动态内容,并且将所有的超时和设置设为大胆一些的安全默认值。您还可以使用 Windows Server 2003 组策略来禁用 IIS 6.0。
进程隔离和回收
越来越多的用户在一台服务器上运行多个站点和应用程序,这对 Web 服务器提出了更高的安全性要求。IIS 6.0 新的容错性进程架构可将管理网站和应用程序的各个应用程序池完全分隔开来,从而增强了安全性。IIS 6.0 通过可配置的工作进程标识和按照某些因素(如应用程序使用的内存量)进行容错回收来隔离站点和应用程序。
Web 服务扩展名列表
默认安装的 IIS 不会编译、执行或提交带有动态扩展名的文件。要为这些文件提供服务,必须在 Web 服务扩展名列表中添加所有认可的文件扩展名。该要求可阻止任何人调用那些带有尚未添加到该列表中的动态扩展名的页面。如果收到对不允许的扩展名的请求,IIS 6.0 在对浏览器的响应中会返回“404 文件未找到”的错误消息,而不是“403 访问被拒绝”错误消息,即使该文件存在。返回这样的错误消息可限制潜在黑客所能获得的信息量,并防止他们了解受限制的扩展名。
在IIS 6.0 和 Windows Server 2003中,您可以使用“网络设置”来限制要打开的 TCP/IP 和 UDP 端口。这样做可减少因为无意或恶意打开端口而导致的攻击。
限制数据上传
IIS 6.0 管理员可以限制能上传到服务器的数据量。
摘要式身份验证(Digest Authentication)
IIS 6.0 和 Windows Server 2003 支持摘要式验证(请参阅 Internet 工程任务小组 RFC 标准,RFC2617)。摘要式验证提供了与基本身份验证相同的功能,只不过它具有更高的安全性,因为它不会以明文形式在网络上发送用户凭据。摘要式验证在网络上传送凭据时使用消息摘要 5 (MD5) 进行散列计算。他人无法从该散列解密发送方的用户名和密码。摘要式验证不要求您在客户端机器上安装额外的软件。
高级摘要式验证
可以配置 IIS 6.0,让它使用“高级摘要式验证”。这是 Windows Server 2003 的一项新服务。它可将用户凭据以 MD5 散列的形式存储在域控制器上。高级摘要不要求用可逆加密方法存储凭据;相反,它会将一些预先计算好的散列存储在 Active Directory 中。高级摘要式验证提供了更佳的用户体验,因为它不会在已登录到 Windows 的用户访问网站或应用程序时强制他们重新提供用户名和密码。集成的 Windows 身份验证非常安全,即使是在未加密的通道中。原因是从不可能传输明文密码。
支持 Kerberos 版本 5
IIS 6.0 与在 Windows Server 2003 中实现的 Kerberos v5 身份验证协议完全集成在一起。该协议非常成熟,而且是行业标准的网络身份验证协议。它提供了高效的单点登录过程,这使得用户可以安全访问相应的企业资源。对 Kerberos v5 的支持还包括其它优点,比如相互验证(客户端和服务器都必须提供验证)和委托验证(始终跟踪用户的凭据)。
证书服务
IIS 6.0 与 Windows Server 2003 中的证书服务和证书管理工具完全集成在一起。使用证书服务,机构可以部署公钥体系,而且设置和管理负责颁发和吊销 X.509 v3 证书的证书颁发机构。
Microsoft Passport 身份验证
IIS 6.0 和 Windows Server 2003 支持使用 Microsoft Passport 服务的身份验证。Passport 是由 Microsoft 维护的 Web 服务。在 Internet 的任何位置,只要应用程序提供了 Passport 登录凭据,它们就可以对 Passport 的注册用户进行身份验证。如果 Passport 确定凭据有效,它就会返回身份验证票据。IIS 6.0 可将该票据编码在 Cookie 中,从而避免用户必须多次进行登录。配合 IIS 6.0 使用时,Passport 集成可为 Web 用户提供一次性的登录体验。
受限制的委派验证
IIS 6.0 和Windows Server 2003为限制如何在 Web 应用程序中委派身份验证凭据提供了新选项。委派是一种允许服务器应用程序代表用户采取操作的行为。域管理员可以对一组有限的机器和服务进行委派,并且控制用户所使用Web应用程序有权访问的网络资源。
URL 授权
IIS 6.0 通过扩展使用 Windows Server 2003 授权管理器提供了 URL 验证,这使得管理员可以非常容易地管理企业环境中Web应用程序的访问控制。尤其是,IIS 6.0 提供了对特定 URL 的网关守卫验证。当用户请求访问 URL 时,IIS 6.0 会按照用户角色(可在 LDAP 查询中定义)和通过授权管理器自定义的用户角色检查用户的访问权限。
FTP 用户隔离
对那些希望为各自的用户提供单独的 FTP 目录以进行文件和 Web 内容上传的 Internet 服务提供商和应用程序服务提供商而言,FTP 用户隔离为它们提供了一个解决方案。FTP 用户隔离可将用户限制在各自的目录内,从而防止用户查看或改写其它用户的 Web 内容。用户的导航范围将不能超出其目录树,因为其顶级目录将作为 FTP 服务的根显示。用户只能在其特定站点中创建、修改或删除文件和文件夹。
应用程序支持
功能
描述
“配置您的服务器”向导
在运行 Windows Server 2003 的计算机上,“配置您的服务器”向导可安装或删除多种服务,包括将 IIS 6.0 用作应用程序服务器。使用“配置您的服务器”向导以默认方式安装的 IIS 6.0 将包括 IIS、COM+ 和 Microsoft ASP.NET(默认情况下,安装后处于禁用状态)。您还可以使用该向导安装 Microsoft FrontPage® Server Extensions (FPSE) ,以获得创建和管理网站所需的工具。
支持 Microsoft .NET Framework
通过 Microsoft .NET Framework,开发者可以借助 ASP.NET 以及其它技术创建完美的 Web 应用程序。它还可以帮助开发者构建与当前设计和开发的应用程序类型相同的应用程序。.NET Framework 与语言无关,几乎任何编程语言都可以利用它。开发者可以用多种语言(包括 Visual C++®、Visual Basic® .NET、Jscript 以及 Visual C#™)构建基于 .NET 的应用程序。.NET Framework 集成在 Windows Server 2003 中,它是 .NET 的编程模型。.NET Framework 包含通用语言运行时 (CLR) 和一组统一的类库(包括 Windows Forms、ADO.NET、ASP.NET 和其它功能)。.NET Framework 提供了可完全管理和保护并且功能丰富的应用程序执行环境、更加简化的开发和部署以及与一系列编程语言的集成。
XML Web 服务允许在客户端-服务器或服务器-服务器模式下交换数据,并使用 HTTP 和 XML 之类的标准消息使数据穿过防火墙。XML Web 服务并不特定于某个组件技术或对象调用约定。因此,用任何语言编写、使用任何组件模型并且运行在任何操作系统上的程序都可以访问 XML Web 服务。
Active Server Pages
Microsoft Active Server Pages (ASP) 使用服务器端的脚本和组件创建与浏览器无关的动态内容,从而允许开发者创建动态内容。ASP 允许内容开发者在 HTML 页面中嵌入任何脚本语言或服务器组件,这提供了一种替换通用网关接口 (CGI) 和 Internet 服务器应用程序接口 (ISAPI) 的方法,而且易于使用。ASP 页面提供了基于标准的数据库连接和根据不同的浏览器对内容进行自定义的能力。ASP 还为基于 Web 的应用程序提供了错误处理功能。
ASP.NET
ASP.NET 是 Microsoft .NET Framework 中的一组技术,用于构建 Web 应用程序和 XML Web 服务。ASP.NET 是迄今为止最为高级的 Web 开发平台。ASP.NET 页面可在 IIS 6.0 中执行,并且生成发送到桌面或移动浏览器的标记(如 HTML、WML 或 XML)。ASP.NET 页面使用事件驱动的汇编编程模型,从而提高了性能,并且将应用程序逻辑和用户界面分离开来。ASP.NET 页面和 ASP.NET XML Web 服务文件包含用 Visual Basic .NET、C# .NET 或任何兼容 .NET 的语言编写的服务器端逻辑(与客户端逻辑相对)。Web 应用程序和 XML Web 服务利用了公共语言运行时功能,比如类型安全、继承、语言互换性、版本控制和集成安全性。由于ASP.NET 与 IIS 6.0 进程模型集成在一起,并且可支持多个应用程序池,因此各个ASP.NET 应用程序可被隔离起来,并直接与内核模式的 HTTP 侦听程序对话。由此减少了进程的数量,并允许 ASP.NET 应用程序利用内核模式的文件缓存。ASP.NET Web Forms 允许开发者构建基于窗体的强大网页。ASP.NET 服务器控件可用于创建通用的用户界面元素,然后对它们进行编程来执行常见任务。
永久性的 ASP 模板缓存
IIS 5.0 中,在执行 ASP 代码之前,ASP 引擎会将 ASP 文件编译为 ASP 模板,并将这些模板存储在中间存储区中。如果站点含有大量 ASP 页面,该缓存会从存储区中取消对最旧模板的空间分配,以便为新模板腾出空间。在 IIS 6.0 中,这些模板将永久保留在磁盘中。如果其中的某个 ASP 文件被再次请求,ASP 引擎会载入模板,而不是载入 ASP 文件,因为这样需要花费额外的 CPU 时间重新编译它。
支持 FrontPage Server Extensions (FPSE)
IIS 6.0 允许管理员使用 Microsoft FrontPage的Web 创作和管理功能来部署和管理网站。借助 FrontPage Server Extensions (FPSE),管理员可以通过图形用户界面查看和管理网站,因此创建一个网站就像单击网站属性页上的复选框那样容易。此外,创作者还可以创建、编辑网页,并将它们从远程发布到 IIS 6.0。
Web 分布式创作和版本控制 (WebDAV) 是一个 Internet 标准。它允许多个人员使用基于 Internet 的共享文件系统协作处理文档。WebDAV 可以解决在用户文件同时进行更改时的文件访问权限、脱机编辑、文件完整性和冲突解决等问题。WebDAV 使用 Internet 作为存储共享文件的中心位置,从而延伸了机构的基础结构范围。对Web文件夹的支持允许用户导航到兼容WebDAV的服务器,并且如同该服务器属于本地系统的名称空间那样查看其内容。用户可以拖放文件、检索或修改文件的属性信息以及执行其它与文件系统有关的任务。使用Web文件夹,用户在浏览本地文件系统、网络驱动器和 Internet 网站时可以保持一致的视觉外观和感受。
支持 IPv6
IPv6(或者说 Internet 协议版本 6)是 Internet 的下一代 IP 协议。Windows Server 2003 操作系统当前提供了现成可用的 IPv6 协议集。在安装了 IPv6 协议集的服务器上,IIS 6.0 可自动处理通过 IPv6 传来的 HTTP 请求。