動(dòng)態(tài)變靜態(tài)
2016-07-24 09:52:49
10861
方法一:使用現(xiàn)成的插?,比如:ISAPI_Rewrite、IIS Rewrite、Apache HTTP服務(wù)器的mod_rewrite等,它們都是基于正則表達(dá)式解析器開發(fā)的重寫引擎。它們的使用方法查看它們自帶的幫助即可。
方法二:自己寫的代碼實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁靜態(tài)化,方法也有好幾種:
1、創(chuàng)建FSO對象,利用此對象將所需的內(nèi)容動(dòng)態(tài)創(chuàng)建到文件中生成HTML頁面;
2、利用模板技術(shù),將模板中特殊代碼的值替換為從表單或是數(shù)據(jù)庫字段中接受過來的值 生成HTML文件;
3、使用Server.Transfer轉(zhuǎn)換技術(shù),
方法三:使用HttpWebRequest請求客戶端的方式,獲取返回資源,生成靜態(tài)頁面。一般這樣只需要獲取網(wǎng)頁內(nèi)容即可,其它資源可放置在服務(wù)器上,自動(dòng)加載。(注:此方法缺點(diǎn)明顯,需要大量更改匹配URL,建議慎用)
方法四:在asp中有IhttpModule接口。Ihttpmodule可以簡單理解為一個(gè)可以在執(zhí)行像.aspx,或者mvc中control/action前,添加我們自定義的操作的東西。
我們只需要編寫這么一個(gè)HttpModule就可以了,當(dāng)用戶第一次請求asp處理時(shí),我們可以在ihttpmodule中攔截到這個(gè)請求,然后獲取到這次請求應(yīng)該返回的html代碼,然后我們返回這些html給用戶,并保存剛才我們獲取到的html到文件內(nèi),當(dāng)用戶下次請求時(shí),我們只需要直接返回我們已經(jīng)保存的html文件即可。