999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ASP.NET的頁面靜態化實現方法研究

2017-07-12 08:07:40生力軍
軟件導刊 2017年6期

生力軍

摘要: 針對動態頁面技術缺點,基于ASP.NET框架,提出了動態頁面靜態化的3種不同實現方案——真靜態、偽靜態、折中法。其中,偽靜態主要使用HttpModule攔截并修改HTTP請求中的URL地址;折中法主要使用HttpHandler結合靜態頁面模板生成并返回靜態頁面文件。給出了頁面靜態化實現方案選擇策略,即利用參數對動態網頁進行分類,不同的動態網頁采用不同的靜態化實現方案。

關鍵詞:ASP.NET;靜態化;HttpModule;HttpHandler;選擇策略

DOIDOI:10.11907/rjdk.171136

中圖分類號:TP301

文獻標識碼:A 文章編號:1672-7800(2017)006-0022-03

0 引言

動態網頁技術因其交互性強、數據刷新實時等特點[1],使網站開發效率和維護效率得到了大幅提升,目前互聯網上大部分網站都采用動態網頁技術構建,但其存在的問題卻不容忽視。

(1)對搜索引擎不夠友好。目前,很多搜索引擎不支持動態鏈接,在網絡上獲取頁面時,會優先獲取HTML靜態頁面內容。

(2)降低服務器性能。如果頁面訪問量比較大,動態頁面會頻繁與數據庫服務器進行交互,降低服務器性能。當前,在Web技術中,只有HTML的靜態頁面效率最高,對服務器性能要求最低[2]。

(3)暴露網站使用技術。如果動態頁面含有類似.jsp或.aspx這樣的擴展名,那么制作網站技術便一目了然,使黑客容易有針對性地對網站進行攻擊。

針對上述問題,有必要對動態頁面進行靜態化處理。目前,大多數網站都采用單一的靜態化實現方案,但是在某些情況下,服務器性能不但沒有提高,反而出現了下降。

實際上,對于不同類型的動態頁面,其靜態化實現方案應該有所區別,以最大限度提高服務器性能。本文首先分析了ASP.NET框架下不同頁面靜態化實現方案,然后將動態頁面進行分類,按照不同頁面的特點采用不同的靜態化實現方法。

1 實現方案

目前,實現頁面靜態化技術主要有以下幾種方案:

(1)真靜態。這種方案真正將動態頁面批量轉化成靜態頁面并存儲在服務器上。這種方案的優點是空間成本較低,不需要數據庫服務器。其缺點也很明顯:一旦網站規模較大,頁面的維護全部依靠手工操作,工作量巨大,維護困難。因此,這種方式只適合一些簡單的、更新頻率極低的介紹性頁面。

(2)偽靜態。這種方案其實并沒有真正將動態頁面轉化為靜態頁面,而是通過URL重寫技術,將動態頁面路徑重寫成.html靜態頁面路徑,主要實現搜索引擎友好性與網站安全性,而性能與單純的動態頁面沒有差異。這種方案適用于更新速度快而訪問量較小的動態頁面。

(3)折中法。這種方案在用戶訪問靜態頁面時,首先判斷靜態頁面在服務器上是否存在,如果存在就直接將靜態頁面返回給客戶端;如果不存在,則執行轉化操作生成靜態頁面,將該頁面發送給客戶端并保存在服務器上,下次再請求該頁面時則無需執行轉換操作。

以上3種方案在動態頁面靜態化實現中可結合使用。由于真靜態實現方式與靜態頁面制作方式相同,本文不再贅述。下面給出ASP.NET下偽靜態和折中法的實現方式。

1.1 偽靜態實現方式

偽靜態實現依賴對用戶請求的URL地址重寫。在ASP.NET框架下,可以使用框架中提供的HttpModule對HTTP請求進行攔截,對請求的地址進行驗證。如果符合重寫要求即將URL地址轉換成動態頁面形式,在服務器端對用戶請求進行重定向。具體實現步驟為:①新建一個類,實現IHttpModule接口,命名為StaticModule;②在新建類中定義一個EventHandler委托類型方法,命名為context_BeginRequest;③在context_BeginRequest方法中獲取用戶請求的原始URL;④對原始URL進行驗證(可使用正則表達式),如果驗證成功則生成真實的URL地址;⑤在服務器端將用戶請求重定向到真實的URL地址;⑥重寫IHttpModule接口中的Init方法,將context_BeginRequest方法綁定到請求處理之前觸發的事件中;⑦在web.config配置文件中注冊StaticModule。

1.2 折中法實現方式

折中法實現關鍵在于如何在靜態頁面不存在的情況下自動生成靜態頁面。在ASP.NET框架下,可以使用框架中提供的HttpHandler[3]對Http請求進行處理,提供關鍵參數,生成真實靜態頁面地址,判斷靜態頁面文件是否存在。如果存在,則直接返回靜態頁面文件,否則就生成靜態頁面文件。在生成靜態頁面文件時,為了提高生成效率,可以提前準備好靜態頁面模板,運用特殊符號標簽作為占位符,在生成頁面時只需對占位符進行替換即可。實現步驟:①制作靜態頁面模板Template.html,模板中用特殊符號(如:{$xxxx})作為內容占位符;②新建一個類,實現IHttpHandler接口,命名為StaticHandler;③重寫IHttpHandler接口中的ProcessRequest方法,在其中獲取用戶請求的URL地址,并將其轉換為真實的靜態頁面地址;④判斷上一步生成的真實靜態頁面是否存在,如果存在則直接將頁面返回,否則讀取靜態頁面模板Template.html,將模板中的占位符替換為真實數據,將文件另存為靜態頁面文件并將其返回給客戶端;⑤在web.config配置文件中注冊StaticHandler。

2 頁面靜態化實現方案選擇策略

從性能角度考慮,應該優先選擇真靜態和折中法進行頁面靜態化,特性越接近靜態頁面的動態頁面,其靜態化價值越大,即讀取頻率越高、更新頻率越低的頁面越適合靜態化。讀寫比[4]是定量參數,即進行一次靜態化操作后,下一次被靜態化前該網頁讀取的次數。網站可以根據實際需求設置讀寫比閾值(記為p)。當網頁讀寫比大于p時,靜態化對性能有提升,反之,盲目靜態化就會增加服務器的文件讀寫工作量,反而影響效率。

如圖1所示,對頁面進行分類,其中讀寫比函數f(x)=px為靜態化方案選擇的分界線,分界線之上的Ⅱ區頁面可以選擇折中法,其中寫頻率較低的Ⅰ區頁面可以考慮使用真靜態法;而分界線以下的Ⅲ區頁面就不適合頻繁讀寫的靜態網頁文件,從搜索引擎友好性和安全性考慮,更適合使用偽靜態法實現。

3 結語

本文分析了動態頁面靜態化實現方案,即真靜態、偽靜態和折中法,并給出了偽靜態和折中法在ASP.NET框架下的實現。偽靜態主要利用HttpModule對Http請求進行攔截,從而重定向頁面地址;折中法主要利用HttpHandler生成并返回真實的靜態頁面文件。3種實現方案各有特點,應根據不同的動態頁面選擇不同的實現方案。讀寫比是一個可供分類網頁的參數,讀寫比高的頁面可使用折中法實現,更新頻率極低的頁面可考慮使用真靜態法,而讀寫比低的頁面可使用偽靜態法實現。

參考文獻:

[1]趙志勤,朱永虎,林玉鳳.面向數據分析的Web頁面靜態化方法研究與實現[J].現代計算機,2014 (13):37-40.

[2]曾小燕,周統鋼.基于數據集成的頁面靜態化方法在政務網站的應用[J].電腦知識與技術,2014,10(15):3695-3696.

[3]沈陽.基于HttpHandler的頁面靜態化[J].數字技術與應用,2012 (1):50-51.

[4]白萬民,吳夫丹,白小軍.Web應用中的網頁靜態化技術研究[J].西安工業大學學報,2014,34(1):34-37.

(責任編輯:杜能鋼)

主站蜘蛛池模板: 婷婷综合色| 日韩视频免费| 国产成人在线小视频| 欧美三级不卡在线观看视频| 精品无码日韩国产不卡av| 色综合五月| 少妇精品在线| 国产精品无码久久久久AV| 国产亚洲男人的天堂在线观看 | 国产精品一区二区不卡的视频| 国产欧美日韩另类| 国产偷倩视频| 中文纯内无码H| 亚洲啪啪网| 日本成人不卡视频| 婷婷伊人五月| 狠狠五月天中文字幕| 日韩视频精品在线| 无码在线激情片| 尤物亚洲最大AV无码网站| 91九色国产porny| 精品国产美女福到在线不卡f| 国产免费黄| 免费人成网站在线观看欧美| 亚洲欧洲免费视频| 2021国产精品自拍| 青青久久91| 国产精品丝袜视频| 综合天天色| 国产香蕉在线视频| 18黑白丝水手服自慰喷水网站| 久久人妻xunleige无码| 亚洲精品国产成人7777| 精品国产成人av免费| 97国产在线播放| 免费黄色国产视频| 制服丝袜一区| 黄色网在线免费观看| 日韩中文无码av超清| 亚洲天堂网在线观看视频| 免费国产好深啊好涨好硬视频| 国产无遮挡裸体免费视频| 在线亚洲天堂| 综合亚洲网| 任我操在线视频| 国产亚洲成AⅤ人片在线观看| 中国黄色一级视频| 国产福利在线免费| 国产成人91精品| 欧美成人二区| 日韩无码视频播放| 成年女人a毛片免费视频| 精品视频一区二区观看| 97免费在线观看视频| a级毛片在线免费| 免费不卡在线观看av| 欧美日韩国产精品va| 性欧美在线| 国产成人禁片在线观看| 国产免费高清无需播放器| 不卡无码网| 亚洲AV色香蕉一区二区| 狠狠色成人综合首页| 99热这里只有精品在线观看| 成人综合在线观看| 99re热精品视频国产免费| 久久免费视频播放| 成人国产三级在线播放| 亚洲中文字幕无码mv| 专干老肥熟女视频网站| 九九免费观看全部免费视频| 在线永久免费观看的毛片| 综合亚洲色图| 中文无码毛片又爽又刺激| 国产手机在线ΑⅤ片无码观看| 国产福利拍拍拍| jizz国产在线| 国产69精品久久久久孕妇大杂乱 | 欧美精品亚洲二区| 老司机午夜精品视频你懂的| 亚洲an第二区国产精品| 91成人在线免费观看|