所在位置:
首頁 >
營銷資訊 >
營銷百科 > 動態(tài)頁面靜態(tài)化靜態(tài)化
動態(tài)頁面靜態(tài)化靜態(tài)化
時間:2023-07-09 03:30:02 | 來源:營銷百科
時間:2023-07-09 03:30:02 來源:營銷百科
動態(tài)頁面靜態(tài)化靜態(tài)化:但為什么又要把動態(tài)網頁以靜態(tài)網頁的形式發(fā)布呢?一個很重要的原因,就是因為搜索引擎。由于搜索引擎對aspx頁面收錄和html頁面收錄率的差別以及頁面資源占用問題,我們很多時候需要實現ASPX頁面動態(tài)轉靜態(tài)。以如今互聯(lián)網上最普通的查找資料的方式看,互聯(lián)網內容到達公眾面前大致只有三條路:第一條路是通過眾所周知的門戶網站,老讀者有意識地到達這些地方搜索相應的有針對性的資料;第二條路是做廣告,通過公眾使用一些免費服務的機會夾帶資料信息,把公眾帶到目標網站;第三條路是搜索引擎,通過關鍵字和其他因素,把相應的信息推介到公眾的面前。實際上,這也是帶來新公眾的最有效的途徑;而對于絕大多數的站點,除了屈指可數的幾個門戶網站外,這種搜索引擎帶來的讀者公眾,占比90%以上。
如此重要的一條公眾途徑自然是不能忽略的。因此,盡管搜索機器人有點討厭,各個網站不但不會再象從前一樣把它封起來,反而熱情無比地搞SEO,所謂的面向搜索引擎的優(yōu)化,其中就包括訪問地址的改寫,令動態(tài)網頁看上去是靜態(tài)網頁,以便更多更大量地被搜索引擎收錄,從而最大限度地提高自已的內容被目標接收的機會。但是,在完全以動態(tài)技術開發(fā)的網站,轉眼中要求變換成靜態(tài)網頁提供,同時,無論如何,動態(tài)網頁的內容管理功能也是必須保留的;就如同一輛飛駛的奔馳忽然要求180度轉彎,要付出的成本代價是非常大的,是否真的值得,也確實讓人懷疑。
另一個重要原因就是提高程序性能。很多大型網站,進去的時候看它很復雜的頁面,但是加載也沒有耗費多長時間,除了其它必要原因以外,我認為靜態(tài)化也是其中必需考慮的技術之一。她先于用戶獲取資源或數據庫數據進而通過靜態(tài)化處理,生成靜態(tài)頁面,所有人都訪問這一個靜態(tài)頁面,而靜態(tài)化處理的頁面本身的訪問速度要較動態(tài)頁面快很多倍,因此程序性能會有大大的提升??傊o態(tài)化在頁面上的體現為:訪問速度加快,用戶體驗性明顯提升;在后臺體現為:訪問脫離數據庫,減輕了數據庫訪問壓力。
靜態(tài)化雖然可以提升程序的性能,但是它并不是提升整體性能的根本原因,就像一臺電腦,只有CPU好或顯卡好,內存好,是不行的,要看整體性能。很多時候是開發(fā)者的原因,導致程序自身性能不佳,所以最好以項目本身性能為基礎,其它優(yōu)化方法為輔,最終提升整個應用程序的性能。
動態(tài)變靜態(tài)方法一:使用現成的插件,比如:ISAPI_Rewrite、IIS Rewrite、ApacheHTTP服務器的mod_rewrite等,它們都是基于正則表達式解析器開發(fā)的重寫引擎。它們的使用方法查看它們自帶的幫助即可。
方法二:自己寫的代碼實現動態(tài)網頁靜態(tài)化,方法也有好幾種:
1、創(chuàng)建FSO對象,利用此對象將所需的內容動態(tài)創(chuàng)建到文件中生成HTML頁面;
2、利用模板技術,將模板中特殊代碼的值替換為從表單或是數據庫字段中接受過來的值 生成HTML文件;
3、使用Server.Transfer轉換技術,
方法三:使用HttpWebRequest請求客戶端的方式,獲取返回資源,生成靜態(tài)頁面。一般這樣只需要獲取網頁內容即可,其它資源可放置在服務器上,自動加載。(注:此方法缺點明顯,需要大量更改匹配URL,建議慎用)
方法四:在asp中有IhttpModule接口。Ihttpmodule可以簡單理解為一個可以在執(zhí)行像.aspx,或者mvc中control/action前,添加我們自定義的操作的東西。
我們只需要編寫這么一個HttpModule就可以了,當用戶第一次請求asp處理時,我們可以在ihttpmodule中攔截到這個請求,然后獲取到這次請求應該返回的html代碼,然后我們返回這些html給用戶,并保存剛才我們獲取到的html到文件內,當用戶下次請求時,我們只需要直接返回我們已經保存的html文件即可。