请输入您要查询的百科知识:

 

词条 IIS 7.0
释义

含义

IIS(Internet Information Services)7 指 Windows Server 2008、Windows Server 2008 R2、Windows Vista 和 Windows 7 的某些版本中包含的 IIS 版本。IIS 7.0 在 Windows Server 2008 中是 Web 服务器 (IIS) 角色,而在 Windows Vista 中是 Web 服务器。IIS 7.5 在 Windows Server 2008 R2 中是 Web 服务器 (IIS) 角色,而在 Windows 7 中是 Web 服务器。Web 服务器在 IIS 7 中经过重新设计,您将能够通过添加或删除模块来自定义服务器,以满足您的特定需求。模块是服务器用于处理请求的独特功能。例如,IIS 使用身份验证模块对客户端凭据进行身份验证,并使用缓存模块来管理缓存活动。IIS是一个支持HTTP和FTP发布服务的Web服务器。IIS 7.0 通过支持灵活的可扩展模型来实现强大的定制功能,通过安装和运行特征加强安全。IIS 7.0现在还可以让那些在其中负责web应用程序或服务的人来代理权限,通过选择性地安装和运行特性增强安全性。IIS 7.0的可扩展性包括一个全新的核心服务器API集合,这使得特性模块可以用本机码(C/C++)或托管代码开发。IIS 7.0还启用了配置、脚本、事件日志和管理工具特性集的可扩展性,向软件开发者提供了一个完备的服务器平台,开发者可以在该平台上建立Web服务器扩展模块。IIS 7.0 包括了一整套的管理工具,包括新的管理员和命令行工具,新的托管代码和脚本API和Windows PowerShell支持简化开发人员和管理员的日常工作。管理工具是完全可扩展的,使得开发者能够使用.NET框架建立新的管理模块,也很容易将新的管理UI模块插入进来,如同随IIS 7.0发布的那些模块一般,新模块的工作过程是透明的。IIS 7.0核心Web服务器与IIS 6.0比较,有一些根本性的变化。例如,本机代码和托管代码可以通过单一的请求流程进行处理。集成化的流程,使得不同的应用框架可以在单一的Web服务器请求流水线中运行,为所有应用程序提供了内建的ASP. NET可扩展性。IIS 7.0还支持使用.NET框架开发核心Web服务器扩展。IIS 7.0集成了现存的用于ASP. NET的IHttpModule API,使得对于所有请求,你的托管代码模块都能够访问请求流程中的所有事件。IIS 7.0包括一个新的Runtime State and Control API,提供了关于应用程序池、工作进程、网站、应用程序域、和运行中的请求的实时状态信息。该信息通过本机COM组件API暴露出来。该API是通过新的IIS WMI提供者appcmd.exe和IIS Manager包装和暴露出来的。

Windows Server 2008提供了在生产环境中支持Web内容承载所需的全部 IIS 功能。Windows Vista 也提供了 IIS 功能,但可用功能取决于 Windows Vista的版本。Windows Vista中的 IIS对于想要构建和测试 Web 应用程序的用户而言十分理想。IIS 7.0 包括Microsoft.Web.Administration接口编程用来管理服务器。IIS 7.0 还包括一个新的Windows Management Instrumentation(WMI)提供者用来提供访问配置和服务器的状态信息给VBScript和JScript。通过使用WMI,管理员可以轻松地自动化基本的配置任务以及管理网站和应用程序。

图形界面的新IIS管理器在防火墙里不开放任何端口的情况下就可以通过HTTP的远程管理,该管理工具是完全可扩展的。

图形界面的新IIS管理器支持HTTP远程管理协议,在无需DCOM的情况下允许无缝地进行本地,远程,甚至跨互联网的连接或在防火墙里开放其它管理端口。

Vista开启IIS 7.0

在Vista中,我们可以看得到新版本的IIS 7.0看上去比6.0有了很大的改进。你现在可以自由开启IIS 7.0,并在个人电脑上架设自己的网站。

下面是开启方法:

1、热键WinKey+R—输入"cmd.exe" (不带引号)。

2、输入下列命令:

start /w pkgmgr.exe /iu:IIS-WebServerRole;IIS-WebServerFeature;IIS-FTPServerFeature

然后,就会自动安装IIS 7.0。而且,IIS 7.0已经完全组件化,类似于Apache。

Win7开启IIS 7.0

默认情况下,windows7安装时是不会自动安装iis,只能手动安装,需要有安装盘。

安装方法:

开始-控制面板-程序-打开或关闭windows功能-internet信息服务-Web管理工具

winXP 安装 IIS 过程

1、控制面板中“程序”的位置,“程序”中“打开或关闭Windows功能”的位置。

2、IIS安装完成之后可以在开始菜单的所有程序中看到“管理工具”,其中有一个“Internet信息服务管理器”,如果没有可以按以下步骤添加:开始》右击属性》“开始”菜单选项卡》自定义》把“系统管理工具”设置为“在所有程序菜单显示”或者“在所有程序菜单和开始菜单上显示”。

3、打开Internet信息服务管理器就可以看到IIS的主页了。ok,完成。

IIS 7.0 HTTP 状态代码

当您试图通过使用 HTTP 访问一台正在运行 Internet 信息服务 (IIS) 7.0 的服务器上的内容时,IIS 7.0 返回一个表示该响应的状态的数字代码。HTTP 状态代码记录在 IIS 日志中。此外,HTTP 状态代码可能会显示在客户端浏览器中。

HTTP 状态代码可能表示请求是否成功或不成功。HTTP 状态代码也可能显示请求成功的确切原因。

1xx - 信息

这些 HTTP 状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。

IIS 7.0 使用以下信息 HTTP 状态代码:

100 - 继续。

101 - 切换协议。

2xx - 成功

200 - 确定。客户端请求已成功。

201 - 已创建。 202 - 已接受。

203 - 非授权信息。

204 - 无内容。

205 - 重置内容。

206 - 部分内容。

3xx - 重定向

301 - 已被永远移走。

302 - 对象已移动。

304 - 未修改。

307 - 临时重定向。

4xx - 客户端错误

IIS 7.0 定义以下 HTTP 状态代码,表明 400 错误的具体原因:

400.1 - 无效的目的标头。

400.2 - 无效的深度标头。

400.3 - 无效的如果标头。

400.4 - 无效的覆盖标头。

400.5 - 无效的转换标头。

400.6 - 无效的请求正文。

400.7 - 无效的内容长度。

400.8 - 无效的超时值。

400.9 - 无效的锁定令牌。

401 - 访问被拒绝。

IIS 7.0 定义几个 HTTP 状态代码,表明 401 错误的具体原因:以下特定的 HTTP 状态代码显示在客户端浏览器中,但是不会显示在 IIS 日志中:

401.1 - 登录失败。

401.2 - 服务器配置导致登录失败。

401.3 - 由于 ACL 对资源的限制而未获得授权。

401.4 - 筛选器授权失败。

401.5 - ISAPI/CGI 应用程序授权失败。

403 - 禁止访问:

IIS 7.0 定义以下 HTTP 状态代码,表明 403 错误的具体原因:

403.1 - 执行访问被禁止。

403.2 - 读访问被禁止。

403.3 - 写访问被禁止。

403.4 - 要求SSL。

403.5 - 要求 SSL 128。

403.6 - IP 地址被拒绝。

403.7 - 要求客户端证书。

403.8 - 站点访问被拒绝。

403.9 - 禁止:许多客户端尝试连接到 Web 服务器:

403.10 - 禁止访问:配置 Web 服务器为拒绝执行访问。

403.11 - 禁止访问:密码已更改。

403.12 - 拒绝访问映射表。

403.13 - 客户端证书被吊销。

403.14 - 拒绝目录列表。

403.15 - 禁止访问: Client access licenses have exceeded limits on the Web server.

403.16 - 客户端证书不受信任或无效。

403.17 - 客户端证书已过期或尚未生效。

403.18 - 在当前的应用程序池中不能执行所请求的 URL。

403.19 - 在此应用程序池中不能执行客户端的 CGI 应用程序。

403.20 - 禁止访问:护照登录失败。

403.21 - 禁止访问:拒绝源访问。

403.22 - 禁止访问:拒绝无限深度。

404 - 未找到。

IIS 7.0 定义以下HTTP 状态代码,表明 404 错误的具体原因:

404.0 - 未找到。

404.1 - 站点未找到。

404.2 - ISAPI 或 CGI 限制。

404.3 - MIME 类型限制。

404.4 - 未配置处理程序。

404.5 - 被请求筛选器配置拒绝。

404.6 - 动词被拒绝。

404.7 - 文件扩展名被拒绝。

404.8 - 隐藏的命名空间。

404.9 - 文件属性被隐藏。

404.10 - 请求标头太长。

404.11 - 请求包含双转义序列。

404.12 - 请求包含高位字符。

404.13 - 内容长度太大。

404.14 - 请求 URL 太长。

404.15 - 查询字符串太长。

404.16 - 发送到静态文件处理程序的 DAV 请求。

404.17 - 动态内容通过通配符 MIME 映射映射到静态文件处理程序。

405 - 无效的动词。

406 - 客户端浏览器不接受所请求页面的 MIME 类型。

408 - 请求超时。

412 - 前提条件失败。

5xx - 服务器错误

IIS 7.0 定义以下 HTTP 状态代码,表明 500 错误的具体原因:

500.0 - 发生模块或 ISAPI 错误。

500.11 - 正在 Web 服务器上关闭应用程序。

500.12 - 应用程序正忙于在 Web 服务器上重新启动。

500.13 - Web 服务器太忙。

500.15 - 不允许直接请求 Global.asax。

500.19 - 配置数据无效。

500.21 - 模块无法识别。

500.22 - 无法在托管管道模式下应用 ASP.NET httpModules 配置。

500.23 - 无法在托管管道模式下应用 ASP.NET httpHandlers 配置。

500.24 - 无法在托管管道模式下应用 ASP.NET impersonation 配置。

500.50 - RQ_BEGIN_REQUEST 通知处理期间,发生重写错误。发生配置或入站规则执行错误。

IIS 7.0的集成模式和经典模式

IIS7.0中的Web应用程序有两种配置模式:经典模式和集成模式。经典模式是为了与之前的版本兼容,使用ISAPI扩展来调用ASP.NET运行库,原先运行于IIS6.0下的Web应用程序迁移到IIS7.0中只要将应用程序配置成经典模式,代码基本不用修改就可以正常运行。集成模式是一种统一的请求处理管道,它将ASP.NET请求管道与IIS核心管道组合在一起,这种模式能够提供更好的性能,能够实现配置和管理的模块化,而且增加了使用托管代码模块扩展IIS时的灵活性。如果老的Web应用程序运行于IIS7.0的集成模式下,可能需要对应用程序的web.config文件进行修改,尤其是使用了实现IHttpHandler接口的自定义模块的情况。IIS7.0在同一个服务器上能够同时支持两种模式的应用程序。

IIS6.0中ASP.NET MMC管理单元用于配置ASP.NET,7.0中ASP.NET应用程序的管理域IIS管理更加紧密的集成在一起,不存在单独的管理单元,所有的IIS和ASP.NET配置都是使用IIS管理器完成的。IIS7.0配置信息基于.NET Framework配置系统,所以IIS7.0中运行的应用程序的web.config文件同时包含web服务器和ASP.NET配置设置,例如可以再web.config文件中设置扩展名和文件的映射(IIS6.0中必须在IIS中进行配置)。

web.config文件的变化

system.webServer节指定了应用于web应用程序的IIS7.0设置,其父节点是configuration,该节点中可以设置的内容包括:

当请求未包含指定资源时,Web服务器返回给客户端的默认文档(defaultDocument);

响应的压缩设置(httpCompression)

自定义头部(httpProtocol节的customHeaders)

模块(modules)

处理程序(handlers)

其中的一些设置仅适用于集成模式,而不适用于经典模式,如经典模式下运行的应用程序则忽略web.config的system.WebServer节中指定的所有托管代码模块和处理程序,这种模式下web应用程序应该在syste.web节的httpModules和httpHandlers中定义模块和处理程序。

将 Web 应用程序迁移到集成模式

不包含自定义模块或处理程序的 Web 应用程序通常无需更改即可在 IIS 7.0 集成模式下正常工作。对于依赖于自定义模块或处理程序的 Web 应用程序,需要执行以下步骤来使其能够在集成模式下运行:

使用本主题稍后的将 Web Config文件迁移到集成模式部分中描述的方法之一,在 Web.config 文件的 system.webServer 节中注册自定义模块和处理程序。

仅在自定义模块的 Init 方法中定义 HttpApplication 请求管道事件(如 BeginRequest 和 EndRequest)的事件处理程序。

请确保您已解决 Upgrading ASP.NET Applications to IIS 7.0: Differences between IIS 7.0 Integrated Mode and Classic mode(将 ASP.NET 应用程序升级到 IIS 7.0:IIS 7.0 集成模式和经典模式之间的区别)的“Known Differences Between Integrated Mode and Classic Mode”(集成模式和经典模式之间的已知区别)部分中讨论的问题。

实现 IHttpModule 接口的模块被称为托管代码模块,因为它们是使用 .NET Framework 生成的。可以在服务器级别或应用程序级别注册托管代码模块。本机代码模块是仅在服务器级别注册的 DLL(非托管代码)。在集成模式下,将以托管模块的形式实现核心 ASP.NET 功能,例如会话状态和 Forms 身份验证。

在将应用程序从经典模式迁移到集成模式时,可以保留经典模式下的自定义模块和处理程序注册,也可以将这些注册移除。如果不移除经典模式下使用的 httpModules 和 httpHandlers 注册,则必须将 validation 元素的 validateIntegratedModeConfiguration 属性设置为 false 以避免错误。validation 元素是 system.webServer 元素的子元素。有关更多信息,请参见 ASP.NET Integration with IIS 7.0(将 ASP.NET 与 IIS 7.0 集成)中的“Disabling the migration message”(禁用迁移消息)部分。

迁移 Web.config 文件以便在集成模式下使用

如果模块或处理程序是在应用程序级别定义的,则不会自动调用该模块或处理程序。这涉及符合以下条件的模块或处理程序:在 Bin 文件夹下的程序集中定义;在 App_Code文件夹下作为源代码定义;没有在 Web.config 文件的 system.webServer 节中注册和定义。为了使模块或处理程序能够参与集成模式请求管道,必须使用下列方法之一注册该模块或处理程序:

直接编辑 Web.config 文件,并且将 modules 或 handlers 元素添加到 system.webServer 元素中。请注意,与经典模式相比,元素名称是不同的:modules 和 handlers 分别对应于经典模式下的 httpModules 和 httpHandlers。

使用 IIS 管理器配置模块或处理程序。有关更多信息,请参见 Configuring Handler Mappings in IIS 7.0(在 IIS 7.0 中配置处理程序映射)和 Configuring Modules in IIS 7.0(在 IIS 7.0 中配置模块)。

使用 IIS 7.0 命令行工具 (Appcmd.exe)。有关更多信息,请参见 Configure Settings for a Site, Application, Virtual Directory or URL by Using Appcmd.exe(使用 Appcmd.exe 配置站点、应用程序、虚拟目录或 URL 的设置)。

使用集成模式的类和属性

在 IIS 7.0 集成模式以及 .NET Framework 3.0 版或更高版本中使用应用程序时,可以使用下面这些在经典模式下不可用的类和成员:

HttpResponse 对象的 SubStatusCode 属性,使用它可以设置在配置了失败请求跟踪的情况下有用的代码。有关更多信息,请参见 Troubleshooting Failed Requests Using Failed Request Tracing in IIS 7.0(使用 IIS 7.0 中的跟踪功能解决请求失败的问题)。

HttpResponse 对象的 Headers 属性,使用它可以访问响应头。

HttpContext 对象的 IsPostNotification 和 CurrentNotification 属性,在提供 HttpApplication 事件的处理程序时可以使用它们。

HttpRequest 对象的 Headers 和 ServerVariables 属性,它们支持写功能。

集成模式与经典模式下请求处理管道的不同

集成模式下ASP.NET的处理管道与经典模式是不同的。集成模式下不论是传统的ASP.NET Web Forms应用程序还是ASP.NET MVC应用程序都可以使用Routing系统(路由系统)。

Routing系统原来是为ASP.NET MVC设计的,后来也被应用于其他ASP.NET技术,包括ASP.NET Web Forms。这就是.NET Framework 3.5中Routing代码不在System.Web.Mvc.dll而在System.Web.Routing.dll中的原因。在.NET Framework 4.0中,Routing代码是在System.Web.dll中的。

IIS 7.0 集成PHP环境

想必不少从事网站方面工作的朋友都想在在WIN7上安装PHP和MYSQL吧,之前是有PHP FOR IIS的,但是在百度和google上搜索都没有PHP FOR IIS7 ,想要一键自动在WIN7上安装PHP和MYSQL看似有点痴人说梦了。最近找到了一个韩国网站上有PHP FOR IIS7,下载下来测试之后发现确实可以一键自动在WIN7上安装PHP和MYSQL。

自己配置PHP环境比较麻烦,而且容易出错,对于怕麻烦的朋友来说选择PHP FOR IIS7一键自动在WIN7上安装PHP和MYSQL是一个不错的选择。下面的扩展阅读里给出了PHP FOR IIS7的程序包下载地址。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/23 20:14:17