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