WEB服务器4--IIS中网站、Web应用程序和虚拟目录

网站、Web应用程序和虚拟目录

在IIS中可以创建网站、Web 应用程序和虚拟目录,以便与计算机网络上的用户共享信息。

“网站”、“Web 应用程序”和“虚拟目录”这三个概念的关系如图 8‑1所示。

  网站,应用程序与虚拟目录

 一个“网站(Web Site)”包含一个或多个“ Web 应用程序(Web Application)”

一个Web 应用程序包含一个或多个“虚拟目录(Virtual Directory)”

虚拟目录则映射到 Web 服务器或远程计算机上的物理目录。

IIS 7中的网站,应用程序与虚拟目录

中可以清楚地看到此Web服务器上有两个“网站”:Default Web Site和NewWebSite,

其中Default Web Site网站中有三个“Web 应用程序”:HappyBookShopService、HappyBookShopWebSite和OnlineAlbum。

HappyBookShopWebSite应用程序下的每一个子文件夹都是一个“虚拟目录”。

最顶层的虚拟目录称为“根虚拟目录”,  中Web应用程序HappyBookShopWebSite的根虚拟目录为“/HappyBookShopWebSite”。

1网站(Web Site)

 网站是 Web 应用程序的容器,每个网站都有一个唯一的标识,由IP 地址、端口和可选的主机头/主机名组合而成,Web服务器根据收到的HTTP请求中的这些信息来确定是对哪一个网站的请求。在IIS 7中,将网站标识称为“网站绑定”,下图所示为IIS 7默认网站的“网站绑定”对话框。

IIS7.0中的网站绑定

2 Web 应用程序(Web Application)

       Web 应用程序是一种在应用程序池(Application Pool)中运行并通过 HTTP 协议向用户提供信息服务的软件程序。

       创建 Web 应用程序时,Web 应用程序的名称将成为网站 URL 的一部分,用户可以通过 Web 浏览器发出针对该 URL的HTTP请求。

       在 IIS中,每个网站至少必须拥有一个 Web 应用程序(但不一定是ASP.NET应用程序,可以是其他类型的Web应用程序),它被称为“Web 应用程序”或“默认 Web 应用程序”,除此之外,网站还可以包含一个或多个ASP.NET(或其他种类) Web 应用程序。

       在Windows XP SP2中用Visual Studio创建的ASP.NET网站发布到本机IIS之后都是作为本机默认网站(即“localhost”所代表的网站)所承载的Web应用程序而运行的。

       Windows Server和Vista可以为某个ASP.NET应用程序创建一个独立的IIS网站,此网站只承载这个唯一的ASP.NET应用程序,并且运行在一个独立的应用程序池中。许多商业网站都采用这种方法以获取较高的性能,同时将此网站与Web服务器上承载的其他网站相互隔离,以增强Web服务器的安全性。

3 虚拟目录(Virtual Directory)

    虚拟目录是在 IIS 中指定并映射到本地或远程服务器上的物理目录的目录名称。此虚拟目录名称将成为Web 应用程序 URL 的一部分,用户可以通过 Web 浏览器向IIS请求访问此URL所对应的物理目录中的资源。

       在 IIS中,每个 Web 应用程序都必须拥有一个最顶层的虚拟目录,它被称为“根虚拟目录

      一个Web 应用程序可以拥有多个虚拟目录,这些虚拟目录都将成为Web 应用程序根虚拟目录的子目录。

      在IIS 7中创建一个虚拟目录

在IIS 7中创建一个虚拟目录

给Web应用添加完虚拟目录之后,可以通过以下URL访问虚拟目录中的网页

    http://网站名称/Web应用程序根虚拟目录/新创建的子虚拟目录/Web网页名称

例子中,Web应用程序根虚拟目录为“/MyNewWebSite”,新加的虚拟目录为“MyNewVirtualDir”,它指向“D:/MyDir”目录。

现假设D:/MyDir目录中有一个ASP.NET网页(设为Sample.aspx),则通过以下URL可以访问此网页:

    http://localhost/MyNewWebSite/MyNewVirtualDir/Sample.aspx

    另外在Visual Studio中,可以在属性窗口中直接设定ASP.NET网站的根“虚拟路径”。

 ASP.NET网站的虚拟路径

       但要注意,这里设定的“虚拟路径”是Visual Studio自带的轻量级Web服务器“ASP.NET Development Server”的虚拟路径,而非IIS中的虚拟路径。如果使用Visual Studio完整版本则可以使用一个“发布网站”的功能。在使用此功能发布网站时可以直接指定ASP.NET应用程序在IIS中所对应的根虚拟目录。

 定IIS中ASP.NET网站的根虚拟目录

 设定IIS中ASP.NET网站的根虚拟目录图 中将ASP.NET网站所对应的IIS根虚拟目录设为MyNewWebSite。

原文地址:https://www.cnblogs.com/tiantianle/p/5361577.html