精品人妻无码一区二区三区软件 ,麻豆亚洲AV成人无码久久精品,成人欧美一区二区三区视频,免费av毛片不卡无码

您現(xiàn)在的位置是:首頁計算機網(wǎng)絡(luò)論文

計算機網(wǎng)絡(luò)技術(shù)論文范文

發(fā)布時間:2014-01-10 16:37:26更新時間:2014-01-10 16:37:42 1

  我們在上網(wǎng)時,不可避免的要用到各種各樣的網(wǎng)址,這些網(wǎng)址有一個共同特點,那就是有各種后綴,如.html、.aspx、.php等。這些后綴都是什么意思呢,.html、.htm、.shtml這些一般情況下都是靜態(tài)頁面,而.aspx、.php等一般都是動態(tài)頁面。然而后綴為.html、.htm這些,但是頁面為動態(tài)頁面的情況是什么呢?下面我們將做介紹。

  摘要:介紹位靜態(tài)的概念,通過Http的請求過程詳細闡述了偽靜態(tài)的實現(xiàn)原理,并使用Httpmoudule、URLRewriter.dll、Global.asax.cs實現(xiàn)了對url的重寫。

  關(guān)鍵詞:偽靜態(tài),Httpmoudule,UrlRewriter,Global.asax.cs

  1偽靜態(tài)的概念及實現(xiàn)原理

  在介紹偽靜態(tài)之前,我們先簡單了解下靜態(tài)頁面和動態(tài)頁面。靜態(tài)頁面是存在與服務(wù)器之上,無需經(jīng)過服務(wù)器編譯,直接加載到用戶瀏覽器上顯示出來,通常具有.htm、.html后綴。動態(tài)頁面是以ASP、JSP、C#等編程語言制作的頁面,在服務(wù)器上實際上不存在此頁面,當(dāng)客戶端向服務(wù)器發(fā)出請求時,動態(tài)頁根據(jù)預(yù)先制定好的模板,通過加載數(shù)據(jù)庫中的對應(yīng)數(shù)據(jù),形成對應(yīng)的頁面,發(fā)送給客戶端,動態(tài)頁面通常具有.aspx、.php等后綴,且網(wǎng)址較長,帶有?符號。

  偽靜態(tài),用簡單的話說就是偽裝成靜態(tài)頁面的動態(tài)頁。那么動態(tài)的頁面為什么要偽裝成靜態(tài)頁面呢。偽裝成靜態(tài)頁面可以有以下好處:網(wǎng)址剪短,易于輸入,可以隱藏一些不必讓用戶看到的東西,易于記憶,利于搜索引擎的抓取。

  那么偽靜態(tài)是怎么實現(xiàn)的呢?在說明這個問題之前需要先了解http的請求過程。一次需要客戶端和服務(wù)器段建立連接,客戶端在發(fā)出請求信息,服務(wù)器端回送相應(yīng)信息,關(guān)閉連接。如圖1。

  那服務(wù)器端是怎么處理這個請求的呢?當(dāng)服務(wù)器接受到請求時,web服務(wù)器將請求會交給iis處理,如果請求的是.htm后綴的靜態(tài)頁面,iis直接將服務(wù)器端數(shù)據(jù)發(fā)送給客戶端,關(guān)閉連接,請求結(jié)束,當(dāng)請求的后綴是.aspx時,這時iis無法處理這個請求,就會將這個請求交給aspnet_isapi.dll來處理,由aspnet_isapi.dll處理后生成的靜態(tài).html內(nèi)容返回給iis,在由iis發(fā)送給客戶端。在ASP.NET之前,需要使用ISAPI篩選器來實現(xiàn)IISWeb服務(wù)器上的URL重寫。由于ASP.NET引擎與IIS非常相似,因此可以使用ASP.NET進行URL重寫。

  下圖描述了如何處理對ASP.NET資源的請求。

  首先,IIS接收到請求,并將請求調(diào)度給aspnet_isapi.dll。接下來,ASP.NET引擎對已配置的HTTP模塊進行初始化。最后將調(diào)用正確的HTTP處理程序,并呈現(xiàn)被請求的資源,將所生成的標(biāo)記返回給IIS和請求客戶端。與IIS一樣,ASP.NET引擎在請求的有效期內(nèi)將會觸發(fā)事件,通過發(fā)信號來表示其處理過程從一個狀態(tài)改變?yōu)榱肆硪粋狀態(tài),如:BeginRequest事件在ASP.NET開始響應(yīng)客戶端請求之始引發(fā);AuthenticateRequest事件在ASP.NET確立用戶身份后引發(fā),當(dāng)然還有諸如AuthorizeRequest,ResolveRequestCache和EndRequest等其它很多事件。每次http請求都得經(jīng)過這里的處理,這樣,我們就可以再這里通過對請求的url的重寫,來實現(xiàn)偽靜態(tài)。

  2通過url重寫實現(xiàn)偽靜態(tài)的幾種方法。

  2.1用httpmoudule來實現(xiàn)網(wǎng)址重寫:

  2.2通過微軟提供的URLRewriter.dll來實現(xiàn)網(wǎng)址重寫:

  1)將URLRewriter.dll文件放在網(wǎng)站的bin目錄中

  2)修改web.config文件如下:

  在節(jié)點下添加:

  2.3在Global.asax.cs中實現(xiàn)網(wǎng)址重寫

  如果使用的是VS2005以上版本是沒有Global.asax.cs這個文件的,需要添加Global.asax文件,在這個文件中手動添加Application_BeginRequest()方法,代碼相同。

  到此,我們介紹了利用httpModule、URLRewriter.dll、Global.asax.cs中的Appliction_BeginRequest()方法實現(xiàn)對URL的重寫,從而實現(xiàn)偽靜態(tài),而在實現(xiàn)的過程中完全可以利用正則表達式的便利性來達到使用自己需要的各種格式的URL,以達到期望的效果。最后在說明下,雖然偽靜態(tài)有很多好處,但是利用偽靜態(tài)的同時,會給服務(wù)器造成額外的壓力,在實際項目中,需要我們綜合考慮各種因素,合理配置各種資源,是網(wǎng)站擁有合理的性能,以達到最好的用戶體驗。

  參考文獻

  [1]葉樹華.HTTP協(xié)議與ASP之間的關(guān)系研究[J].華北工學(xué)院學(xué)報,2002,23(6):444-448.

  [2]楊成果.基于HTTP管道的集中式訪問控制的研究與實現(xiàn)[J].西南民族大學(xué)學(xué)報:自然科學(xué)版,2007,33(6):416-421.

  [3]MSDN庫[EB/OL].http://msdn.microsoft.com/library/default.aspx.


轉(zhuǎn)載請注明來自:http://www.jinnzone.com/jisuanjiwangluolw/28946.html