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

IIS架構與HTTP請求處理流程(1)

系統 2206 0

ASP.NET Web編程原理 之

IIS架構與HTTP請求處理流程(1)


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

說明:

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

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


金旭亮

2008年9月27日

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



Windows 操作系統中的 IIS 負責提供互聯網服務,一臺運行了 IIS 的計算機可以看成是一臺 Web 服務器。

Windows XP SP2 IIS 主版本號為 5 Windows 2003 Server 6 Vista Windows Server 2008 7 。對于 Windows 2003 Server ,其默認支持的 ASP.NET 版本為 1.1 ,因此必須單獨安裝 .NET Framework 2.0 以上版 本[1]

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

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

8.1.1網站、Web應用程序和虛擬目錄

IIS 中可以創建網站、 Web 應用程序和虛擬目錄,以便與計算機網絡上的用戶共享信息。“網站”、“ Web 應用程序”和“虛擬目錄”這三個概念的關系如 8 ? 1 所示。


 網站,應用程序與虛擬目錄


<?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 網站,應用程序與虛擬目錄

簡而言之, 一個“網站( Web Site )”包含一個或多個“ Web 應用程序( Web Application )”,一個 Web 應用程序包含一個或多個“虛擬目錄( Virtual Directory )”,而虛擬目錄則映射到 Web 服務器或遠程計算機上的物理目錄。

8 ? 2 所示為運行 IIS 7 的一個 Web 服務器。


IIS 7中的網站,應用程序與虛擬目錄

<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 中的網站,應用程序與虛擬目錄

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

下面逐個剖析這三個概念。

1 網站( Web Site

網站是 Web 應用程序的容器,每個網站都有一個唯一的標識,這一標識由它的 IP 地址、端口和可選的主機頭 / 主機名 組合而成, Web 服務器根據收到的 HTTP 請求中的這些信息來確定是對哪一個網站的請求

IIS 7 中,將網站標識稱為“ 網站綁定 ”, 8 ? 3 所示為 IIS 7 默認網站的“網站綁定”對話框。


IIS7.0中的網站綁定

<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 中的網站綁定

2 Web 應用程序( Web Application

Web 應用程序是一種在應用程序池( Application Pool )[3] 中運行并通過 HTTP 協議向用戶提供信息服務(通常以 HTML 格式表達信息)的軟件程序。創建 Web 應用程序時, Web 應用程序的名稱將成為網站 URL 的一部分,用戶可以通過 Web 瀏覽器發出針對該 URL HTTP 請求。

使用 Visual Studio 創建的“ ASP.NET 網站”,其實是一個“ Web 應用程序”,它并不等于 IIS 中的“網站”。

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 應用程序都必須擁有一個最頂層的虛擬目錄,它被稱為“ 根虛擬目錄 ”。

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


ASP.NET網站的虛擬路徑

<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 網站的虛擬路徑

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


定IIS中ASP.NET網站的根虛擬目錄

<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 設定 IIS ASP.NET 網站的根虛擬目錄

8 ? 5 中將 ASP.NET 網站所對應的 IIS 根虛擬目錄設為 MyNewWebSite

一個 Web 應用程序可以擁有多個虛擬目錄,這些虛擬目錄都將成為 Web 應用程序根虛擬目錄的子目錄。

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


在IIS 7中創建一個虛擬目錄

<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 中創建一個虛擬目錄

Web 應用添加完虛擬目錄之后,可以通過以下 URL 訪問虛擬目錄中的網頁

http:// 網站名稱 /Web 應用程序根虛擬目錄 / 新創建的子虛擬目錄 /Web 網頁名稱

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

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


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

[2] 更具體來說,是 Windows Server 的一個系統核心組件: HTTP.SYS 負責這一工作。后面在介紹 IIS 架構時還將介紹 HTTP.SYS 組件。

[3] 后文將應用程序池作更詳細的介紹

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

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

[6]在 IIS 5/6 中使用“虛擬目錄創建向導”來創建虛擬目錄,其方法是在 IIS 的某個 Web 應用程序節點上右擊,從快捷菜單中選“新建”--> “虛擬目錄”命令。 IIS 7 的操作是類似的,但它直接在快捷菜單的第一級中就提供了“添加虛擬目錄”的命令。



(請看 第二部分 :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架構與HTTP請求處理流程(1)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人小视频在线观看 | 成人影视在线观看 | 精品在线一区二区三区 | 国产精品婷婷久久爽一下 | 日韩城人视频 | 国产精品免费网站 | 视频一区二区欧美日韩在线 | 欧美成人国产一区二区 | 中文字幕一区二区三区亚洲精品 | 国内一区亚洲综合图区欧美 | 二区在线观看 | 四虎免费在线观看视频 | 一级毛片无毒不卡直接观看 | 四虎影视久久久免费 | 久久99热精品这里久久精品 | 亚洲女人毛片 | 免费一级特黄 | 伊人俺去久久涩五月综合 | 欧美午夜视频一区二区三区 | 国产精品一级香蕉一区 | 国产成人a∨麻豆精品 | 婷婷 色天使 | 国产视频毛片 | 免费在线欧美 | 91福利在线看 | 亚洲欧洲一区二区三区在线观看 | 久久夜色精品国产尤物 | 中文字幕国产专区 | 外国成人网在线观看免费视频 | 香蕉视频毛片 | 亚洲情欲 | 欧美激情特级黄aa毛片 | 2019亚洲日韩新视频 | 在线欧美一级毛片免费观看 | 中文字幕一区二区三区精彩视频 | 欧美成人性毛片免费版 | 国产精品欧美亚洲区 | 欧美日韩亚洲一区二区三区 | 亚洲资源站资源网在线 | 国产免费一区二区三区免费视频 | 奇米第八色|