最近學習靜態頁,感覺靜態頁真的是太好了,可以提高網站頁面的反應速度,減輕伺服器的壓力,減少訪問資料庫等等好處,但是技術都有兩面性,靜態頁面也有不好的地方,下面是我自己查看別人的資料總結的東西,希望對大家有用。
1、首先介紹一下靜態頁與動態網頁
(1)靜態網頁是實際存在的,無需經過伺服器的編譯,直接載入到客戶瀏覽器上顯示出來。靜態頁面需要佔一定的伺服器空間,且不能自主管理髮布更新的頁面,如果想更新網頁內容,要通過FTP軟體把檔案DOWN下來用網頁製作軟體修改(通過fso等技術例外)。
採用靜態頁面的方法可以將資料庫及後台系統與前台劃分開。兩者間沒有絕對的聯絡。從而從提高網站的安全。以上就是靜態頁面的最大的優點。速度快,可以跨平台,跨伺服器。
靜態網頁的缺點在於其管理維護和互動功能方面的限制,靜態網頁的優點在於資訊內容的穩定性,這為搜尋引擎在網上索引網頁資訊提供了方便。網站建設採用靜態網頁形式只是有助於搜尋引擎索引資訊,但並不意味著只要是靜態網頁就一定會被搜尋引擎收錄,而動態網頁就一定不會被搜尋引擎收錄。
(2)動態網頁面是以ASP、PHP、JSP、Perl、或CGI等程式設計語言製作的;動態網頁面實際上並不是獨立存在於伺服器上的網頁檔案,只有當使用者請求時伺服器才返回一個完整的網頁;動態網頁面上的內容存在於資料庫中,根據使用者發出的不同請求,其提供個人化的網頁內容;動態網頁面內容不是存在於頁面上,而是在資料庫中,從而大大降低網站維護的工作量;
動態網頁面是一對多訪問。通過一個頁面。可以根據若干參數返回其不同的資料。但是靜態頁面因為是靜態所以是一個頁面對應一個內容,也就是一對一的關係。優點就是無論你如何訪問都只是讓伺服器傳資料給要求者。並不做指令碼計算及讀取後台資料庫。從而大大的提高了訪問速度及降低了部分安全隱患。
2、靜態頁與動態網頁的區別
靜態網頁和動態網頁的主要區別在於在伺服器上是否運行程式,運行在用戶端的程式、頁面等等都是靜態頁面,它們是一直不變的。
靜態網頁和動態網頁有著不同的特點,一個網站使用什麼樣的頁面要看這個網站有什麼功能和網站中的內容有多少,假如這個網站的內容變化不是很快,網站的功能也沒有那麼複雜,可以使用靜態網頁對網站運行也比較簡單。而相反則必須要使用動態網頁來完善一個網站。
3、什麼時候使用靜態頁,什麼時候必須使用動態網頁呢?
(1)假如這個網站的內容變化不是很快,網站的功能也沒有那麼複雜,可以使用靜態網頁對網站運行也比較簡單。而相反則必須要使用動態網頁來完善一個網站。
(2)採用動態網頁技術的網站可以實現更多的功能,如使用者註冊、使用者登入、線上調查、使用者管理、訂單管理等等;靜態頁面則無法實現這些功能。
(3)html就是我們一般說的靜態網站,一般的觀念來說,靜態幾乎是不更新的,特別是新聞系統CMS來說,產生的頁面以後確實很少修改;動態頁面往往有很多即時的需求,確實在實際應用中,被使用在內容更新頻率很高的網站上。大家可以正反的看一下。
4、動態網頁靜態化技術
(1)一個網站建設的基礎就是靜態網頁,而靜態網頁和動態網頁之間也不是互不相容的,為了提高網站內搜尋的速度,就是使用動態網頁技術的網站,也能把網頁的內容轉變成靜態網頁運行,把網頁轉變為靜態化是網站發展的一個非常好的方法,能夠提高網頁開啟的速度。
(2)動態網頁靜態化方法
方法一:使用現成的外掛程式,比如:ISAPI_Rewrite、IIS Rewrite、Apache HTTP伺服器的mod_rewrite等,它們都是基於Regex解析器開發的重寫引擎。它們的使用方法查看它們內建的協助即可。
方法二:自己寫的代碼實現動態網頁靜態化,方法也有好幾種:
1、建立FSO對象,利用此對象將所需的內容動態建立到檔案中產生HTML頁面;
2、利用模板技術,將模板中特殊代碼的值替換為從表單或是資料庫欄位中接受過來的值 產生HTML檔案;
3、使用Server.Transfer轉換技術,
方法三:使用HttpWebRequest請求用戶端的方式,擷取返回資源,產生靜態頁面。一般這樣只需要擷取網頁內容即可,其它資源可放置在伺服器上,自動載入。(註:此方法缺點明顯,需要大量更改匹配URL,建議慎用)
5、面對當今搜尋引擎技術需要思考的問題
(1)靜態化雖然可以提升程式的效能,但是它並不是提升整體效能的根本原因,就像一台電腦,只有CPU好或顯卡好,記憶體好,是不行的,要看整體效能。很多時候是開發人員的原因,導致程式自身效能不佳,所以最好以項目本身效能為基礎,其它最佳化方法為輔,最終提升整個應用程式的效能。
(2)各個網站不但不會再象從前一樣把它封起來,反而熱情無比地搞SEO,所謂的面向搜尋引擎的最佳化,其中就包括訪問地址的改寫,令動態網頁看上去是靜態網頁,以便更多更大量地被搜尋引擎收錄,從而最大限度地提高自已的內容被目標接收的機會。但是,在完全以動態技術開發的網站,轉眼中要求變換成靜態網頁提供,同時,無論如何,動態網頁的內容管理功能也是必須保留的;就如同一輛飛駛的平治忽然要求180度轉彎,要付出的成本代價是非常大的,是否真的值得,也確實讓人懷疑。
(3)靜態頁面利不利於網站收錄?(這個要看當今搜尋引擎發展的技術)
一般的搜尋引擎最佳化觀點認為靜態頁面有利於搜尋引擎最佳化,所以產生了很多搜尋引擎最佳化重構網站頁面,不得已的還把自己的網站做成偽靜態URL,來增加自己的搜尋引擎最佳化效果。可是搜尋引擎最佳化已經發展了好幾年了,以前靜態確實可以取道很大的效果,但是現在還有用嗎?
一 動態體驗要比靜態更好,因為資訊更新快。而搜尋引擎最重視的是搜尋使用者的體驗。
二 搜尋引擎更新頻率低,asp頁面百度蜘蛛來訪的頻率比html要高很多。
三 搜尋引擎最佳化是為了提高自己網站在搜尋引擎的排名,恐怕是每個搜尋引擎最佳化都承認的事實網站最佳化服務,但是現在來看並不具有太大優勢。
四 隨著搜尋引擎技術的進步,特別是google對於動態代碼索引的非常熟練,技術水平完全達到了索引html的能力,沒有任何差別。
五 hmtl頁面隨著時間的增長還有減少的現象。
六 html頁面並不能增加收錄數量,我在做站的時候發現asp網站的收錄比html更多。
七 請不要小看搜尋引擎的實力,發展至今難道搜尋引擎沒有逾越“?”這個符號的障礙嗎?還認為靜態更容易抓取嗎?