網(wǎng)站頁面靜態(tài)化的方案

2024-04-29    分類: 網(wǎng)站建設

在大型網(wǎng)站中,訪問者看到的頁面基本上是靜態(tài)頁面。為什么都要把頁面靜態(tài)化呢?把頁面靜態(tài)化,好處有很多。例如:訪問速度快,更有利于搜索引擎收錄 等。目前主流的靜態(tài)化主要有兩種:一種是通過程序將動態(tài)頁面抓取并保存為靜態(tài)頁面,這樣的頁面的實際存在于服務器的硬盤中,另外一種是通過WEB服務器的 URL Rewrite的方式,他的原理是通過web服務器內部模塊按一定規(guī)則將外部的URL請求轉化為內部的文件地址,一句話來說就是把外部請求的靜態(tài)地址轉化 為實際的動態(tài)頁面地址,而靜態(tài)頁面實際是不存在的。這兩種方法都達到了實現(xiàn)URL靜態(tài)化的效果,但是也各有各自的特點。 將動態(tài)頁面轉化為實際存在的靜態(tài)頁面這種方法,由于靜態(tài)頁面的存在,少了動態(tài)解析過程,所以提高了頁面的訪問速度和穩(wěn)定性,使得優(yōu)化效果非常明顯。所以這種方法被廣泛采用。但是它的局限性同樣存在。對于大型網(wǎng)站而言,這種方法將帶來不可忽視的問題。 一、由于生成的文件數(shù)量較多,存儲需要考慮文件、文件夾的數(shù)量問題和磁盤空間容量的問題; 二、頁面維護的復雜性和大工作量,及帶來的頁面維護及時性問題,需要一整套站點更新制度。 而URL Rewrite方式特點同樣鮮明,由于是服務器內部解析的地址,所以內容是實時更新的,也不存在文件管理和硬件問題,維護比較方便。在服務器級URL Rewrite重寫技術并不影響頁面的執(zhí)行速度。但是URL Rewrite的門檻比較高,國內虛擬主機大多不支持,而且虛擬主機是目錄級的URL Rewrite,通過遍歷目錄讀物URL轉發(fā)規(guī)則的方式將大大降低頁面的執(zhí)行速度。 除了抓取動態(tài)頁面和URL Rewrite的方法外,在這里我們再看一下另外的一種方法。此方法的核心思想就是:把頁面劃分成子數(shù)據(jù)塊,每個數(shù)據(jù)塊可能是一個inc文件,也可能多個 數(shù)據(jù)塊包含在一個inc文件中。具體的數(shù)據(jù)塊劃分根據(jù)頁面的業(yè)務結構來處理。比如:網(wǎng)站頭尾等公共數(shù)據(jù)塊可以獨立成一個文件。這種方法需要考慮以下幾個方 面: 1、用什么方式生成頁面及里面的數(shù)據(jù)塊 2、頁面的更新機制; 3、大量的頁面文件的維護工作; 4、頁面數(shù)據(jù)塊的及時性。 這種方式的話,通??梢栽诤笈_增加一個服務程序,專門生成某個頻道或欄目的頁面。這樣雖然可行,按照頻道分的話,邏輯結構也清晰。

這樣會帶來一些問題。例如:當頻道修改后,相應的服務程序都要重新翻一遍。如果頻道欄目很多,對應的服務程序也會很多,導致程序的維護工作量大。前臺開發(fā)人員不僅要去做頁面,也要考慮后臺的服務程序結構,給他們增加了不必要的開發(fā)難度,降低了開發(fā)效率。

而在多服務模式下,會出現(xiàn)多臺服務去爭搶指令數(shù)據(jù)的情況。動作指令的狀態(tài)必須在多個服務之間同步。服務升級了,也要一個一個去更新,出現(xiàn)錯誤了也要一個一個去排查。。。。。。 那么有沒有一種方法能把生成頁面的功能獨立抽象成一個平臺,同時提供一個程序接口,前臺開發(fā)人員只需要按照這個接口,開發(fā)業(yè)務組件即可。現(xiàn)在前臺開發(fā)人員 只需要把寫好的業(yè)務組件,部署到指定的地方即可。剩下的事情交給這個平臺去做,這樣就簡化了系統(tǒng)發(fā)布,維護工作,減輕了前臺開發(fā)人員的工作量,提高了他們 的開發(fā)效率。

動作指令是指頁面更新的動作,當頁面數(shù)據(jù)有變化時,會根據(jù)業(yè)務規(guī)則從某個地方發(fā)出一個動作。它的來源大致可以分為三種:前臺頁面觸發(fā),后臺內容管理系統(tǒng)觸發(fā),后臺自動定時觸發(fā)。 靜態(tài)數(shù)據(jù)生成系統(tǒng)與業(yè)務組件的接口設計。通過反射的方式調用業(yè)務組件,接口的參數(shù)在指令結構的基礎上擴展即可。比如增加一些錯誤描述,數(shù)據(jù)庫鏈接對象等。 數(shù)據(jù)分發(fā)是一個獨立的數(shù)據(jù)傳輸系統(tǒng),它負責根據(jù)預先設定好的配置,把生成的頁面數(shù)據(jù)傳輸?shù)街付ǖ膚eb服務器上。 為了使系統(tǒng)在隨著網(wǎng)站訪問量的上升的同時做到水平擴展,加快指令的處理速度。所以需要把系統(tǒng)部署到多臺服務器上,這樣以來各個子系統(tǒng)就要統(tǒng)一通信協(xié)調。可 以用MQ消息作為子系統(tǒng)之間的通信手段。子系統(tǒng)的部署模式變?yōu)镸aster-Slave的形式。Master主機上的系統(tǒng)負責讀指令,然后把指令發(fā)送到 MQ。各個Slave主機系統(tǒng)負責接收MQ消息指令,調用業(yè)務組件并更新某條指令的狀態(tài),這樣就把處理業(yè)務邏輯的壓力平均的分配到了各臺slave主機。

對于一個大型網(wǎng)站來說,生成的頁面數(shù)據(jù)會非常多,管理這些頁面文件又是一個問題。例如有的頁面被刪除了,而已經(jīng)生成的頁面數(shù)據(jù)還會存在各個web服 務器上。這時就需要通過后臺系統(tǒng)記錄這些頁面文件的部署位置,以便今后統(tǒng)一管理。同時業(yè)務組件的量也可能會比較多,特別是存在多版本的情況下,所以也需要 把業(yè)務組件的配置情況記錄到數(shù)據(jù)庫中,便于統(tǒng)一管理。

本文來源于成都網(wǎng)站建設公司與成都網(wǎng)站設計制作公司-創(chuàng)新互聯(lián)成都公司!

網(wǎng)頁名稱:網(wǎng)站頁面靜態(tài)化的方案
網(wǎng)頁地址:http://www.muchs.cn/news15/325565.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計、微信小程序網(wǎng)站收錄移動網(wǎng)站建設、建站公司、網(wǎng)站設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設