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.

(責任編輯:杜能鋼)

主站蜘蛛池模板: 国产网站免费| 91在线丝袜| 99视频在线精品免费观看6| 日本久久网站| 欧美爱爱网| 在线a网站| 亚洲人成高清| 成人一区专区在线观看| 熟妇人妻无乱码中文字幕真矢织江| 国产精品jizz在线观看软件| 国产成人久久综合777777麻豆| 日本欧美成人免费| 国语少妇高潮| 色一情一乱一伦一区二区三区小说 | 色偷偷av男人的天堂不卡| 国产久草视频| 久久精品国产国语对白| 在线欧美国产| 欧美日本激情| 欧美另类视频一区二区三区| 亚洲天堂区| 久久精品波多野结衣| 欧美日韩中文字幕在线| 色成人亚洲| 国产美女人喷水在线观看| 91精品国产丝袜| 99热这里只有成人精品国产| 97国产成人无码精品久久久| 国产无码性爱一区二区三区| 中文字幕佐山爱一区二区免费| 特级做a爰片毛片免费69| 国产在线视频二区| 亚洲天堂首页| 伊人久久久久久久久久| 成年人久久黄色网站| 免费看美女自慰的网站| 中文字幕日韩久久综合影院| 欧美精品不卡| 四虎成人精品| 亚洲首页在线观看| 国产不卡一级毛片视频| 伊人久综合| 成人福利在线观看| 国产95在线 | 国产精品va免费视频| 中文精品久久久久国产网址| 国产男人天堂| 精品夜恋影院亚洲欧洲| 亚洲a级在线观看| 国产美女91呻吟求| 曰AV在线无码| 中文字幕在线一区二区在线| 在线视频一区二区三区不卡| 亚洲色欲色欲www在线观看| 日本一区二区三区精品国产| 国产欧美精品午夜在线播放| 99久久国产精品无码| 18禁高潮出水呻吟娇喘蜜芽| 国产菊爆视频在线观看| 2048国产精品原创综合在线| 欧美午夜网| 亚洲丝袜中文字幕| 亚洲V日韩V无码一区二区| 色婷婷成人网| 五月婷婷中文字幕| 国产第一页亚洲| 国产丰满成熟女性性满足视频| 久久国产亚洲偷自| 国产三级国产精品国产普男人 | 永久在线播放| 国产日韩精品欧美一区喷| 九九这里只有精品视频| 在线观看免费黄色网址| A级毛片高清免费视频就| 无码啪啪精品天堂浪潮av| 精品无码一区二区三区在线视频| 国产成人啪视频一区二区三区| 国产精品手机在线播放| 精品一區二區久久久久久久網站| 无遮挡国产高潮视频免费观看| 久久精品免费国产大片| 999国产精品永久免费视频精品久久|