溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

IIS ASP.NET的本質(zhì)與聯(lián)系是什么

發(fā)布時(shí)間:2021-07-15 10:46:26 來(lái)源:億速云 閱讀:202 作者:chen 欄目:編程語(yǔ)言

本篇內(nèi)容主要講解“IIS ASP.NET的本質(zhì)與聯(lián)系是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“IIS ASP.NET的本質(zhì)與聯(lián)系是什么”吧!

IIS ASP.NET的本質(zhì)與聯(lián)系是什么呢?首先讓我們看看什么是ASP.NET,ASP.NET對(duì)于編寫WEB應(yīng)用程序以及組件來(lái)說(shuō)是一個(gè)很好的框架,但是由于他的龐大性對(duì)于很多人來(lái)說(shuō)要了解他的每一個(gè)細(xì)節(jié)好象是否不太可能,我一直認(rèn)為有必要了解一下基層結(jié)構(gòu)的工作原理以便在設(shè)計(jì)時(shí)獲取更高的性能,在接下來(lái)的一系列文章中,我將要描敘一下WEB的生命周期,從當(dāng)請(qǐng)求被服務(wù)器接受開(kāi)始,傳送到ASP.NET管道處理一直到生成回送信息(如:HTML)在管道處理后期。

IIS ASP.NET的本質(zhì)與聯(lián)系之ASP.NET介紹

Microsoft Active Server Pages(微軟動(dòng)態(tài)網(wǎng)頁(yè)服務(wù)),同樣也被大家稱為ASP,首先是在1996年末年發(fā)布的,為程序員提供一個(gè)用來(lái)建立WEB應(yīng)用程序豐富復(fù)雜的框架。幾年后,他的基礎(chǔ)構(gòu)造發(fā)展改進(jìn)了很多,也就是大家現(xiàn)在所了解的ASP.NET.ASP.NET是一個(gè)用來(lái)構(gòu)件WEB應(yīng)用程序的框架,也就是說(shuō),他必須運(yùn)行在WEB服務(wù)上,用客服端-服務(wù)端模型了表述的話通常是瀏覽器發(fā)送不同類型的資源請(qǐng)求到WEB服務(wù)器。在出現(xiàn)動(dòng)態(tài)服務(wù)器資源生成技術(shù)(如CGI,PHP,JSP以及ASP),所有的WEB服務(wù)只能接受客服端的靜態(tài)資源請(qǐng)求并把他們回送到客服端。

表面上看起來(lái),這樣在服務(wù)端和客戶端的交互是非常的簡(jiǎn)單。會(huì)話通過(guò)HTTP協(xié)議進(jìn)行,他是一個(gè)建立在TCP和IP協(xié)議(用來(lái)在2個(gè)連接到不同類型的網(wǎng)絡(luò)端點(diǎn)交換數(shù)據(jù),如我們所知道的WWW萬(wàn)維網(wǎng))上的應(yīng)用程序級(jí)協(xié)議。

本質(zhì)上任何動(dòng)態(tài)服務(wù)器技術(shù)需要運(yùn)行在特定WEB服務(wù)上,同樣ASP.net緊密地和微軟因特網(wǎng)信息服務(wù),也叫做IIS。

不同的服務(wù)選擇不同的方式去生成動(dòng)態(tài)資源等等。。。我們將要解析一下IIS是怎么做到的當(dāng)一個(gè)請(qǐng)求信息一旦到達(dá)服務(wù)端以及***回送到客戶端。

IIS ASP.NET的本質(zhì)與聯(lián)系之IIS and ISAPI 擴(kuò)展

如上面提到的,靜態(tài)資源不需要被服務(wù)器處理;一旦這樣的資源請(qǐng)求到達(dá)服務(wù)器,服務(wù)器只需要從文件系統(tǒng)中找到他的內(nèi)容并且以字節(jié)流形式發(fā)送到客戶端通過(guò)HTTP協(xié)議。靜態(tài)資源可以是圖片,javascript,CSS或者普通HTML頁(yè)面。很顯然服務(wù)器需要知道怎樣去區(qū)分靜態(tài)和動(dòng)態(tài)資源,動(dòng)態(tài)資源需要如何被處理而不是直接發(fā)送回客戶端。因此出現(xiàn)了ISAPI擴(kuò)展,ISAPI是因特網(wǎng)服務(wù)應(yīng)用程序編程的接口。ISAPI作為模塊被執(zhí)行如早期的Win32.dll.IIS依靠ISAPI來(lái)處理特定的資源。通過(guò)IIS映射ISAPI擴(kuò)展和文件的方式,把每種文件擴(kuò)展類型關(guān)聯(lián)到特定的ISAPI擴(kuò)展,也就是說(shuō),當(dāng)一個(gè)請(qǐng)求某種文件的請(qǐng)求到達(dá),IIS處理并轉(zhuǎn)到相應(yīng)的ISAPI擴(kuò)展,以確認(rèn)這種請(qǐng)求能被處理。

IIS ASP.NET的本質(zhì)與聯(lián)系是什么

圖表1:在IIS5.0中配置ISAPI擴(kuò)展映射

ISAPI擴(kuò)展明顯需要符合一個(gè)通用接口,這樣他們才能被IIS調(diào)用并提供必要的數(shù)據(jù)用來(lái)處理請(qǐng)求和生成回送。

如圖1,.ASP擴(kuò)展名被映射到asp.dll ISAPI擴(kuò)展;在ASP處理時(shí)段,這個(gè)組件負(fù)責(zé)執(zhí)行所有需要的任務(wù)去生成回送,也就是說(shuō),通過(guò)收集請(qǐng)求信息,并使得他能夠在ASP頁(yè)面可用,其他ASP內(nèi)部對(duì)象,解析并執(zhí)行ASP頁(yè)面***以HTML形式返回結(jié)果。

盡管,這樣相對(duì)于CGI技術(shù)來(lái)說(shuō)已經(jīng)是很大的進(jìn)步了,但是ASP.net更強(qiáng)大。

在安裝ASP.NET后,ASP.NET配置IIS 把ASP.NET指定的文件請(qǐng)求重定向到一個(gè)新的ISAPI擴(kuò)展aspnet_isapi.dll.這個(gè)擴(kuò)展有些不同于以前的asp.dll擴(kuò)展。

表格I:aspnet_isapi.dll在IIS應(yīng)用程序中的映射

ExtensionResource Type

.asaxASP.NET 應(yīng)用程序文件. 常用的有 global.asax.

.ascxASP.NET 用戶控件文件.

.ashxHTTP handlers, the managed counterpart of ISAPI extensions.

.asmxASP.NET web services.

.aspxASP.NET web pages.

.axdASP.NET internal HTTP handlers.

除了表格1所列出的文件擴(kuò)展名,ASP.NETISAPI擴(kuò)展也管理其他一些通常不提供給瀏覽器訪問(wèn)的文件擴(kuò)展類型,如Visual Studio工程文件,資源文件以及配置文件。

到此,相信大家對(duì)“IIS ASP.NET的本質(zhì)與聯(lián)系是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI