亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

IIS架構(gòu)與HTTP請(qǐng)求處理流程(1)

系統(tǒng) 2490 0

ASP.NET Web編程原理 之

IIS架構(gòu)與HTTP請(qǐng)求處理流程(1)


******************************************************************

說明:

《ASP.NET Web編程原理》包括一系列的文章,取自于《ASP.NET程序設(shè)計(jì)教程》的第8章,對(duì)于ASP.NET開發(fā)中的一些比較復(fù)雜的問題做了介紹,主要目的是向在ITCAST上選學(xué)了我講授《ASP.NET技術(shù)基礎(chǔ)》系列課程(http://www.itcast.net/portal/courses/unit/137)的學(xué)員提供一些更詳細(xì)的學(xué)習(xí)資料。也可供其他ASP.NET開發(fā)者參考。

本系列文章由于出自本人所著的教材 《ASP.NET程序設(shè)計(jì)教程》(高等教育出版社 預(yù)計(jì)2009年2月出版),因此,網(wǎng)友可以以學(xué)習(xí)和參考等目的轉(zhuǎn)貼和傳播,但不能用于商業(yè)目的,比如將其原封不動(dòng)地用在其他同類技術(shù)書籍中。


金旭亮

2008年9月27日

*******************************************************************



Windows 操作系統(tǒng)中的 IIS 負(fù)責(zé)提供互聯(lián)網(wǎng)服務(wù),一臺(tái)運(yùn)行了 IIS 的計(jì)算機(jī)可以看成是一臺(tái) Web 服務(wù)器。

Windows XP SP2 IIS 主版本號(hào)為 5 Windows 2003 Server 6 Vista Windows Server 2008 7 。對(duì)于 Windows 2003 Server ,其默認(rèn)支持的 ASP.NET 版本為 1.1 ,因此必須單獨(dú)安裝 .NET Framework 2.0 以上版 本[1]

目前, IIS 6 是使用最為廣泛的版本, IIS 5 已基本不在 Web 服務(wù)器上部署, IIS 6 IIS 5 相比在系統(tǒng)架構(gòu)上有著較大的差異, IIS 7 IIS 6 相比,基本架構(gòu)并沒有根本性的變化,但在許多方面有新的增強(qiáng)和改進(jìn)。本書選擇 IIS 6/7 進(jìn)行介紹,大部分內(nèi)容也適合于 IIS 5 ,但 IIS 5 一些已過時(shí)的特性就不介紹了。

首先,我們來仔細(xì)分辨一下三個(gè)很容易混淆的基本概念。

8.1.1網(wǎng)站、Web應(yīng)用程序和虛擬目錄

IIS 中可以創(chuàng)建網(wǎng)站、 Web 應(yīng)用程序和虛擬目錄,以便與計(jì)算機(jī)網(wǎng)絡(luò)上的用戶共享信息。“網(wǎng)站”、“ Web 應(yīng)用程序”和“虛擬目錄”這三個(gè)概念的關(guān)系如 8 ? 1 所示。


 網(wǎng)站,應(yīng)用程序與虛擬目錄


<?xml:namespace prefix = o />

<?xml:namespace prefix = v /><shapetype id="_x0000_t75" coordsize="21600,21600" o:preferrelative="t" o:spt="75" filled="f" stroked="f" path=" m@4@5 l@4@11@9@11@9@5 xe"><stroke joinstyle="miter"><formulas><f eqn="if lineDrawn pixelLineWidth 0"><f eqn="sum @0 1 0"><f eqn="sum 0 0 @1"><f eqn="prod @2 1 2"><f eqn="prod @3 21600 pixelWidth"><f eqn="prod @3 21600 pixelHeight"><f eqn="sum @0 0 1"><f eqn="prod @6 1 2"><f eqn="prod @7 21600 pixelWidth"><f eqn="sum @8 21600 0"><f eqn="prod @7 21600 pixelHeight"><f eqn="sum @10 21600 0"></f><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"><lock v:ext="edit" aspectratio="t"></lock><shape id="_x0000_i1025" style="WIDTH: 272.25pt; HEIGHT: 109.5pt" type="#_x0000_t75" o:ole=""><imagedata src="file:///C:%5CUsers%5CJINXUL%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image001.emz" o:title=""></imagedata></shape></path></f></f></f></f></f></f></f></f></f></f></f></formulas></stroke></shapetype>

8 ? 1 網(wǎng)站,應(yīng)用程序與虛擬目錄

簡(jiǎn)而言之, 一個(gè)“網(wǎng)站( Web Site )”包含一個(gè)或多個(gè)“ Web 應(yīng)用程序( Web Application )”,一個(gè) Web 應(yīng)用程序包含一個(gè)或多個(gè)“虛擬目錄( Virtual Directory )”,而虛擬目錄則映射到 Web 服務(wù)器或遠(yuǎn)程計(jì)算機(jī)上的物理目錄。

8 ? 2 所示為運(yùn)行 IIS 7 的一個(gè) Web 服務(wù)器。


IIS 7中的網(wǎng)站,應(yīng)用程序與虛擬目錄

<shape id="圖片_x0020_1" style="VISIBILITY: visible; WIDTH: 192pt; HEIGHT: 263.25pt" o:spid="_x0000_i1026" type="#_x0000_t75" coordsize="21600,21600"><imagedata o:title="" src="file:///C:%5CUsers%5CJINXUL%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image002.png"></imagedata></shape>

8 ? 2 IIS 7 中的網(wǎng)站,應(yīng)用程序與虛擬目錄

8?2 中可以清楚地看到此 Web 服務(wù)器上有兩個(gè)“網(wǎng)站”: Default Web Site NewWebSite ,其中 Default Web Site 網(wǎng)站中有三個(gè)“ Web 應(yīng)用程序”: HappyBookShopService HappyBookShopWebSite OnlineAlbum 。而 HappyBookShopWebSite 應(yīng)用程序下的每一個(gè)子文件夾都是一個(gè)“虛擬目錄”。最頂層的虛擬目錄稱為“根虛擬目錄”, 8?2 Web 應(yīng)用程序 HappyBookShopWebSite 的根虛擬目錄為“ /HappyBookShopWebSite ”。

下面逐個(gè)剖析這三個(gè)概念。

1 網(wǎng)站( Web Site

網(wǎng)站是 Web 應(yīng)用程序的容器,每個(gè)網(wǎng)站都有一個(gè)唯一的標(biāo)識(shí),這一標(biāo)識(shí)由它的 IP 地址、端口和可選的主機(jī)頭 / 主機(jī)名 組合而成, Web 服務(wù)器根據(jù)收到的 HTTP 請(qǐng)求中的這些信息來確定是對(duì)哪一個(gè)網(wǎng)站的請(qǐng)求

IIS 7 中,將網(wǎng)站標(biāo)識(shí)稱為“ 網(wǎng)站綁定 ”, 8 ? 3 所示為 IIS 7 默認(rèn)網(wǎng)站的“網(wǎng)站綁定”對(duì)話框。


IIS7.0中的網(wǎng)站綁定

<shape id="_x0000_i1027" style="WIDTH: 307.5pt; HEIGHT: 196.5pt" o:ole="" type="#_x0000_t75" coordsize="21600,21600"><imagedata o:title="" src="file:///C:%5CUsers%5CJINXUL%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image003.emz"></imagedata></shape>

8 ? 3 IIS7.0 中的網(wǎng)站綁定

2 Web 應(yīng)用程序( Web Application

Web 應(yīng)用程序是一種在應(yīng)用程序池( Application Pool )[3] 中運(yùn)行并通過 HTTP 協(xié)議向用戶提供信息服務(wù)(通常以 HTML 格式表達(dá)信息)的軟件程序。創(chuàng)建 Web 應(yīng)用程序時(shí), Web 應(yīng)用程序的名稱將成為網(wǎng)站 URL 的一部分,用戶可以通過 Web 瀏覽器發(fā)出針對(duì)該 URL HTTP 請(qǐng)求。

使用 Visual Studio 創(chuàng)建的“ ASP.NET 網(wǎng)站”,其實(shí)是一個(gè)“ Web 應(yīng)用程序”,它并不等于 IIS 中的“網(wǎng)站”。

IIS 中,每個(gè)網(wǎng)站至少必須擁有一個(gè) Web 應(yīng)用程序(但不一定是 ASP.NET 應(yīng)用程序,可以是其他類型的 Web 應(yīng)用程序),它被稱為“ Web 應(yīng)用程序” 或“ 默認(rèn) Web 應(yīng)用程序” ,除此之外,網(wǎng)站還可以包含一個(gè)或多個(gè) ASP.NET (或其他種類) Web 應(yīng)用程序。

Windows XP SP2 中,使用 Visual Studio 創(chuàng)建的 ASP.NET 網(wǎng)站發(fā)布到本機(jī) IIS 之后都是作為本機(jī)默認(rèn)網(wǎng)站(即“ localhost ”所代表的網(wǎng)站)所承載的 Web 應(yīng)用程序而運(yùn)行的。

Windows Server Vista 可以為某個(gè) ASP.NET 應(yīng)用程序創(chuàng)建一個(gè)獨(dú)立的 IIS 網(wǎng)站,此網(wǎng)站只承載這個(gè)唯一的 ASP.NET 應(yīng)用程序,并且運(yùn)行在一個(gè)獨(dú)立的應(yīng)用程序池中。許多商業(yè)網(wǎng)站都采用這種方法以獲取較高的性能,同時(shí)將此網(wǎng)站與 Web 服務(wù)器上承載的其他網(wǎng)站相互隔離,以增強(qiáng) Web 服務(wù)器的安全性。

3 虛擬目錄( Virtual Directory)


虛擬目錄是在 IIS 中指定并映射到本地或遠(yuǎn)程服務(wù)器上的物理目錄的目錄名稱。然后,此虛擬目錄名稱將成為 Web 應(yīng)用程序 URL 的一部分,用戶可以通過 Web 瀏覽器向 IIS 請(qǐng)求訪問此 URL 所對(duì)應(yīng)的物理目錄中的資源。

IIS 中,每個(gè) Web 應(yīng)用程序都必須擁有一個(gè)最頂層的虛擬目錄,它被稱為“ 根虛擬目錄 ”。

Visual Studio 中,可以在屬性窗口中直接設(shè)定 ASP.NET 網(wǎng)站的根“虛擬路徑”( 8 ? 4 )。


ASP.NET網(wǎng)站的虛擬路徑

<shape id="圖片_x0020_26" style="VISIBILITY: visible; WIDTH: 198pt; HEIGHT: 191.25pt" o:spid="_x0000_i1028" type="#_x0000_t75" coordsize="21600,21600"><imagedata o:title="" src="file:///C:%5CUsers%5CJINXUL%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image004.png"></imagedata></shape>

8 ? 4 ASP.NET 網(wǎng)站的虛擬路徑

但要注意,這里設(shè)定的“虛擬路徑”是 Visual Studio 自帶的輕量級(jí) Web 服務(wù)器“ ASP.NET Development Server ”的虛擬路徑,而非 IIS 中的虛擬路徑。如果使用 Visual Studio 完整版本(比如團(tuán)隊(duì)開發(fā)版),則可以使用一個(gè)“發(fā)布網(wǎng)站”的功能。在使用此功能發(fā)布網(wǎng)站時(shí)可以直接指定 ASP.NET 應(yīng)用程序在 IIS 中所對(duì)應(yīng)的根虛擬目錄 8 ? 5 )。


定IIS中ASP.NET網(wǎng)站的根虛擬目錄

<shape id="_x0000_i1029" style="WIDTH: 297pt; HEIGHT: 249pt" o:ole="" type="#_x0000_t75" coordsize="21600,21600"><imagedata o:title="" src="file:///C:%5CUsers%5CJINXUL%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image005.emz"></imagedata></shape>

8 ? 5 設(shè)定 IIS ASP.NET 網(wǎng)站的根虛擬目錄

8 ? 5 中將 ASP.NET 網(wǎng)站所對(duì)應(yīng)的 IIS 根虛擬目錄設(shè)為 MyNewWebSite

一個(gè) Web 應(yīng)用程序可以擁有多個(gè)虛擬目錄,這些虛擬目錄都將成為 Web 應(yīng)用程序根虛擬目錄的子目錄。

可以很方便地在 IIS 中創(chuàng)建一個(gè)虛擬目錄( 8 ? 6 )。


在IIS 7中創(chuàng)建一個(gè)虛擬目錄

<shape id="圖片_x0020_28" style="VISIBILITY: visible; WIDTH: 256.5pt; HEIGHT: 232.5pt" o:spid="_x0000_i1030" type="#_x0000_t75" coordsize="21600,21600"><imagedata o:title="" src="file:///C:%5CUsers%5CJINXUL%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image006.png"></imagedata></shape>

8 ? 6 IIS 7 中創(chuàng)建一個(gè)虛擬目錄

Web 應(yīng)用添加完虛擬目錄之后,可以通過以下 URL 訪問虛擬目錄中的網(wǎng)頁(yè)

http:// 網(wǎng)站名稱 /Web 應(yīng)用程序根虛擬目錄 / 新創(chuàng)建的子虛擬目錄 /Web 網(wǎng)頁(yè)名稱

在上面的例子中, Web 應(yīng)用程序根虛擬目錄為“ /MyNewWebSite ”,新加的虛擬目錄為“ MyNewVirtualDir ”,它指向“ D:/MyDir ”目錄。現(xiàn)假設(shè) D:/MyDir 目錄中有一個(gè) ASP.NET 網(wǎng)頁(yè)(不妨設(shè)為 Sample.aspx ),則通過以下 URL 可以訪問此網(wǎng)頁(yè):

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


[1] 建議在 Windows 2003 Server 上安裝最新版本的 .NET Framework 以支持一些新技術(shù),比如 AJAX Silverlight

[2] 更具體來說,是 Windows Server 的一個(gè)系統(tǒng)核心組件: HTTP.SYS 負(fù)責(zé)這一工作。后面在介紹 IIS 架構(gòu)時(shí)還將介紹 HTTP.SYS 組件。

[3] 后文將應(yīng)用程序池作更詳細(xì)的介紹

[4]“虛擬目錄”有時(shí)又被稱為“虛擬路徑”,兩者代表同一概念。

[5]對(duì)于 Visual Web Developer 速成版,它沒有提供“發(fā)布網(wǎng)站”的功能,但可以在“復(fù)制網(wǎng)站”對(duì)話窗口找到相應(yīng)的按鈕完成這一工作。或者更直接些,直接使用 IIS 管理器來完成這一工作。

[6]在 IIS 5/6 中使用“虛擬目錄創(chuàng)建向?qū)А眮韯?chuàng)建虛擬目錄,其方法是在 IIS 的某個(gè) Web 應(yīng)用程序節(jié)點(diǎn)上右擊,從快捷菜單中選“新建”--> “虛擬目錄”命令。 IIS 7 的操作是類似的,但它直接在快捷菜單的第一級(jí)中就提供了“添加虛擬目錄”的命令。



(請(qǐng)看 第二部分 :http://blog.csdn.net/bitfan/archive/2008/09/28/2990606.aspx)
<meta content="Word.Document" name="ProgId"> <meta content="Microsoft Word 12" name="Generator"> <meta content="Microsoft Word 12" name="Originator"> <link href="file:///C:%5CUsers%5CJINXUL%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List"> <link href="file:///C:%5CUsers%5CJINXUL%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_editdata.mso" rel="Edit-Time-Data"> <link href="file:///C:%5CUsers%5CJINXUL%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_oledata.mso" rel="OLE-Object-Data"> <style> v/:* {behavior:url(#default#VML);} o/:* {behavior:url(#default#VML);} w/:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style> <link href="file:///C:%5CUsers%5CJINXUL%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData"> <link href="file:///C:%5CUsers%5CJINXUL%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping"> <style> <!-- /* Font Definitions */ @font-face {font-family:宋體; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 680460288 22 0 262145 0;} @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face {font-family:"/@宋體"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 680460288 22 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman","serif"; mso-fareast-font-family:宋體; mso-font-kerning:1.0pt;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt; mso-ascii-font-family:"Times New Roman"; mso-fareast-font-family:宋體; mso-hansi-font-family:"Times New Roman"; mso-font-kerning:0pt;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.Section1 {page:Section1;} --> </style> <shapetype id="_x0000_t75" coordsize="21600,21600" o:preferrelative="t" o:spt="75" filled="f" stroked="f" path=" m@4@5 l@4@11@9@11@9@5 xe"><stroke joinstyle="miter"><formulas><f eqn="if lineDrawn pixelLineWidth 0"><f eqn="sum @0 1 0"><f eqn="sum 0 0 @1"><f eqn="prod @2 1 2"><f eqn="prod @3 21600 pixelWidth"><f eqn="prod @3 21600 pixelHeight"><f eqn="sum @0 0 1"><f eqn="prod @6 1 2"><f eqn="prod @7 21600 pixelWidth"><f eqn="sum @8 21600 0"><f eqn="prod @7 21600 pixelHeight"><f eqn="sum @10 21600 0"></f><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"><lock v:ext="edit" aspectratio="t"></lock><shape id="_x0000_i1025" style="WIDTH: 272.25pt; HEIGHT: 109.5pt" type="#_x0000_t75" o:ole=""><imagedata src="file:///C:%5CUsers%5CJINXUL%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image001.emz" o:title=""></imagedata></shape></path></f></f></f></f></f></f></f></f></f></f></f></formulas></stroke></shapetype>

IIS架構(gòu)與HTTP請(qǐng)求處理流程(1)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 99爱视频免费高清在线观看 | 国产精品久久久久影院色 | 日韩 欧美 国产 亚洲 中文 | 激情宗合网 | 久久精品国产半推半就 | 狠狠色狠狠综合久久 | 免费看羞羞视频的网站 | 91精品国产91热久久p | 99热这里只精品99re66 | 香蕉久久精品 | 亚洲一区二区三区四 | 国产毛片一区二区三区 | 国产五月色婷婷六月丁香视频 | 高清亚洲综合色成在线播放放 | 亚洲精品第一区二区三区 | 日本在线黄色 | 香港aa三级久久三级不卡 | 日本一级高清不卡视频在线 | 中国明星一级毛片免费 | 91久久亚洲国产成人精品性色 | 日本综合 | 日本伊人色 | 色狠狠xx | 99国产精品久久久久久久日本 | 久久精品一区二区三区日韩 | 国产欧美久久久精品 | 好吊妞操| 四虎在线观看免费永久 | 亚洲综合图片区 | 最新欧美精品一区二区三区不卡 | 国内精品久久久久久久久蜜桃 | 欧美日韩亚洲精品国产色 | 久久成人在线观看 | 亚洲伊人tv综合网色 | 尤物视频在线观看视频 | 婷婷天天 | 久久99这里精品8国产 | 日本在线高清不卡 | 男女超爽视频免费播放在线观看 | a一区二区三区视频 | 青青青国产在线手机免费观看 |