IIS服务器中的一些名称、术语、概念解释

时间:2022-06-01 21:22:31

1、网站

网站是IIS6中管理的最基本单位,是一个网站的根对象。
主机头设置、日志设置、带宽连接数限制只有在网站级别才可以做,在其他元素下无法做。

2、应用程序

网站中的动态脚本(ASP/PHP/ASP.NET等)内容需要在应用程序池中才可以运行。

每个网站在创建时都有一个默认应用程序,通常网站中的内容都在该应用程序中运行。如果有特殊需要,例如当某个子目录/虚拟目录中的内容特别重要时,或者是同一个网站中放了多个子站时,也可以在子目录或者虚拟目录中创建应用程序,避免在同一个应用程序中相互影响。

拥有应用程序的目录或虚拟目录在IIS中会以一个齿轮的图标显示。

应用程序创建/删除设置方法:网站属性的"主目录"标签下,或者是子目录/虚拟目录属性的"目录"标签下,点击"应用程序池名"旁边的创建或删除按钮。

当子目录/虚拟目录中的程序没有被单独设置过程序池时,修改网站的默认程序所在程序池,则子目录/虚拟目录中的程序池也会跟着改变,如果子目录/虚拟目录单独修改过所在程序池,则之后不再跟随默认应用程序的程序池变动。

3、虚拟目录

如果一个网站除了需要使用主目录中的文件,还需要使用到其他目录下的文件,可以使用虚拟目录。创建一个虚拟目录,指向某个文件夹,则访问该虚拟目录名称即可访问到对应文件夹中的内容。

每个网站都有一个根虚拟目录,在"网站--属性--主目录"中进行的设置,都是在对该虚拟目录进行设置。

当创建虚拟目录时,"权限"设置处只勾选"只读"而未勾选"运行脚本",则会创建一个不带应用程序的虚拟目录,图标为文件夹加地球;如果勾选了"运行脚本",会创建一个带应用程序的虚拟目录,图标为齿轮。

4、目录和文件

 

站点中的文件夹和文件,默认跟随根虚拟目录的设置。
如果有特殊需要,也可以单独给文件夹和文件设置默认首页、身份认证、自定义错误、ASP.NET版本等。

5、绑定

IIS6中通过不同的绑定对网站加以区分,使得同一服务器上能够同时运行多个网站。

绑定的格式为“IP地址:端口:域名”,只要其中一处不同。则视为不同的绑定。IIS中的各网站绑定必须各不相同,如果某两个网站具有相同的绑定,则其中一个网站会停止。

如果IP地址留空(默认未分配),表示无论以服务器绑定的任何IP作为目的地址发起的请求,该网站都接收。如果域名留空(即空主机头),表示以某个域名发起的请求,在服务器上没有任何网站绑定该域名,则由该网站接收此请求。

6、ISAPI

ISAPI全称为服务器应用程序编程接口(Internet Server Application Programming Interface)。
ISAPI可以是动态链接库文件(DLL),也可以是可执行文件(EXE),一般为DLL形式。用户通过编写ISAPI来达到控制和扩展IIS行为,实现自己需求的功能。

ISAPI有筛选器和应用程序扩展两种形式:

a.筛选器: 可以对IIS请求或者某些事件进行捕获并进行处理,例如Rewrite筛选器可以对请求URL进行重定向达到伪静态效果,一些IIS防火墙筛选器可以修改返回内容达到关键字过滤等效果。

b.应用程序扩展: 只对特定类型(后缀)文件的请求进行处理,例如在IIS中设置了处理.php文件的应用程序扩展,使IIS支持PHP,当接收到.php文件的请求时,IIS根据应用程序扩展设置,调用PHP的ISAPI对应DLL文件来处理PHP请求。添加的应用程序扩展必须首先在IIS的Web服务扩展设置里先允许才可以正常使用。

7、CGI

CGI全称为通用网关接口(Common Gateway Interface)。
它与ISAPI应用程序扩展的用法类似,只不过文件格式为.exe文件。

8、Web服务扩展

该功能用于确保IIS的安全。默认安装的IIS在Web服务扩展处全部都为禁用,只允许访问静态页面,如果需要用到某个功能,需要首先在“Web服务扩展”中开启对应功能。如果在网站中添加了新的后缀对应的应用程序扩展(例如.php),也需要在“Web服务扩展”处添加该扩展并设置成允许后才可以使用。

主要的应用程序扩展如下:

所有未知CGI扩展: 如果开启该项功能,则网站添加任何的CGI扩展(指向.exe文件的应用程序扩展)都被允许执行。一般不开。

所有未知ISAPI扩展: 如果开启该项功能,则网站添加任何的ISAPI扩展(指向.dll文件的应用程序扩展)都被允许执行。一般不开。

ASP.NET v....: 处理ASP.NET(以.aspx结尾)需要。

Active Server Pages: 处理ASP程序(以.asp结尾)需要。

在服务器端的包含文件: 处理嵌入式服务器方包含命令的HTML文本(以.shtml结尾)需要。

9、日志

常见的IIS日志格式有“NCSA公用文件格式”和“W3C扩展日志文件格式”两种。

NCSA公用文件格式:通用的日志格式,Apache等Web服务软件也使用此格式。

W3C扩展日志文件格式: IIS默认的日志格式,可以记录访问客户端类型等更多信息,并且可以指定要记录的字段。

10、身份认证

身份认证用于设置以何种用户访问网站和执行脚本。
以较低权限的用户运行网站脚本,可访问的对象较少,相对较安全,但功能也可能受限制。反之,以较高权限运行网站脚本,功能受限的情况较少,但安全隐患也较大。

如果同时设置了多种认证方式,则最先以匿名身份认证方式进行验证,当匿名身份认证因用户密码错误等原因失败时,再启用其他方式验证,都不通过时则网站会提示因未授权而无法访问。

常用的身份认证方式如下:

(1)匿名身份认证:最常用的身份认证方式,当网站需要被公众访问时基本都使用该方式,预先在"网站属性--目录安全性--身份认证和访问控制--匿名访问"处设置需要运行的用户名和密码,当用户访问网站时,网站自动以该账户尝试运行网站。

(2)集成Windows身份认证:使用该方式时,用户在访问网站时首先会弹出对话框,输入IIS所在服务器系统中的有效用户名密码后才可访问网站,并以该账户权限执行网站脚本。当网站只允许指定用户访问时可采用此认证方式,但通常的做法是仍然使用匿名身份认证,在网站程序的层面对用户访问进行控制。

(3)基本身份验证:与集成Windows身份认证方式类似,只不过集成Windows身份认证的方式会以微软NTLM方式对用户名密码进行加密,而基本身份验证方式以明文发送用户名密码。