靜態網頁與動態網頁有什么區別 二維碼
26
一、靜態網頁介紹 在網站設計中,早期(大約 2000 年以前)的網站大多都是由靜態網頁制作的。靜態網頁是相對于動態網頁而言的,是指沒有后臺數據庫、不含程序(如 PHP、JSP、ASP)和可交互的網頁。常見的靜態網頁語言有 HTML、JS、CSS、XML、SHTML 等。 特點 靜態網頁資源的特點是,開發者編寫的是什么,它顯示的就是什么,一旦編寫完成,就不會有任何改變。靜態網頁的維護和更新相對比較麻煩,每個不同的網頁都需要單獨編輯更新,靜態網頁一般適用于更新較少的宣傳展示型網站(如酒、家具、豬飼料等的宣傳網站),是早期(2000 年以前)很多中小網站常用展示的形式。 靜態網頁資源的對應程序及資源文件的常見擴展名如下: 純文本類程序或文件,如htm、html、xml、shtml、css 等, 圖片類文件或數據文檔,如 jpg、gif、png、bmp、txt、doe、ppt 等 視頻類流媒體文件,如 mp4、swf、avi、wmv、flv等。 靜態網頁資源有以下幾個重要的特征: 1)每個頁面都有一個固定的 URL地址,且 URL 一般以.btm、.html、.shtml 等常見形式為后級,而且地址中不含有問號?或&等特殊符號 2)網頁內容一經發布到網站服務器上,無論是否有用戶訪問,網頁的內容都是保存在網站服務器文件系統上的,也就是說,靜態網頁是實實在在保存在服務器上的文件實體,每個網頁都是一個獨立的文件。 3)網頁內容是固定不變的,因此,容易被搜素引擎收錄(容易被用戶找到)(優點)。 4)網頁沒有數據庫的支持,在網站制作和維護方面工作量較大,因此當網站信息量很大時完全依靠靜態網頁制作的方式比較困難(缺點)。 5)網頁的交互性較差,在程序動能實現方面有較大的限制 (缺點)。 6)網頁程序在用戶瀏覽器端解析,如 IE 瀏覽器,程序解析效率很高。由于服務器端不進行解析,并且不需要讀取數據庫,因此服務器端可以接受更多的并發訪問。(優點) 總結如下: 1)程序在客戶瀏覽器端解析,不讀取后端數據庫,因此性能和效率很高。 2)因為后端沒有數據庫的支持,所以交互性較差,功能實現也很少。 有關靜態網頁的架構思想 在高并發、高訪問量的場景下做架構優化,涉及的關鍵環節就是把動態網頁轉換成靜態網頁,而不直接請求數據庫和動態服務器,并且可以把靜態內容推送到前端緩存(或 CDN) 中提供服務,這樣就可以提升用戶體驗,節約服務器和維護成本。 二、動態網頁介紹 所謂的動態網頁是與靜態網頁相對而言的,也就是說,動態網頁的 URL 后綴不是.htm、.html、.shtml、.xml、js、.css 等靜態網頁的常見后級擴展名形式,而是以.asp、.aspx、 .php、.jsp、.do、.cgi 等形式作為后綴的,并且一般在動態網頁網址中會有標志性的符號?和&,此外,在大多數情況下后端都需要有數據庫支持等。 特點 1)常見網頁擴展名后綴有.asp、aspx、php、jsp、.do、.cgi 等。 2)網頁一般以數據庫技術為基礎,大大降低了網站維護的工作量。 3)采用動態網頁技術的網站可以實現更多的功能,如用戶注冊、用戶登錄、在線調查、投票、用戶管理、訂單管理、發博文等。 4)動態網頁并不是獨立存在于服務器上的網頁文件,當用服務器上的動態程序時,服務器解析這些程序并可能讀取數據庫信息返回一個完整的網頁內容。 5)動態網頁中的?在搜索引擎的收錄方面存在一定的問題,搜索引擎一般不會從一個網站的數據庫中訪問全部網頁,或者出于技術等方面的考慮,搜索蜘蛛一般不會去抓取網址中?后面的內容,因此在企業通過瘦索引擎進行推廣時,需要針對采用動態網頁的網站做一定的技術處理(偽靜態技術),以便適應搜索引擎的抓取要求。 6)程序在服務器端解析,這相當于顧客點餐,飯店廚師做飯做菜,耗時長、效率低。由于程序在服務器端解析,因此,會消耗大量的CPU和內存、IO等資源,并且多數還要讀取數據庫等服務,因此,其訪問效率遠不如靜態網頁,在服務器端解析動態程序的服務常見的有PHP引擎、Java容器(tomcat、resin、jboss、weblogic)。 有關動態網頁的架構思想 一般來說,靜態網頁的性能效率是動態網頁的10~30倍,且動態網站效率很低,并發能力也很低,在高并發場景中應盡可能轉換成靜態網頁提供服務。動態轉靜態幾乎是所有高并發網站必備的架構方案思路,也是高級架構師的職責所在。 此外,動態轉靜態也要根據業務需求設計。例如,對于更新頻繁的網站如果設計不好就可能會產生數據不一致的情況,即用戶看到的數據不是網站最新的內容,而是靜態的內容。 三、偽靜態網頁 介紹 顧名思義,偽靜態就是通過某些技術(如rewrite)把動態網頁的URL地址偽裝成靜態網頁URL地址,但實質上用戶訪問的還是動態網頁,只不過URL地址看起來是符合靜態網頁地址特征的,因此,用戶及某些搜索引擎會誤認為其是靜態網頁。 特點 從網站的URL地址來看,偽靜態表面上看起來是靜態內容(如地址結尾帶html),這是通過rewrite規則來實現的URL地址重寫。改寫后的URL地址更規范、美觀,有利于搜索引擎抓取,以及提升用戶訪問體驗。 例如:https://zhuanlan.zhihu.com/p/711842574這個地址都是偽靜態的。因為偽靜態網頁還是動態網頁,從性能上考慮,偽靜態功能不但沒有提升網站性能,反而會降低網站的性能。這一點讀者要理解。 作用 由于搜索引擎無法正確讀取帶參數的動態網頁內容,造成網頁中很多具有豐富信息的頁面無法被搜索引擎收錄,因此才有了偽靜態技術,它的作用是把動態網頁URL改寫成靜態網頁的URL,雖然同樣是消除了動態網頁中的參數,但是并不需要生成任何網頁,僅僅是改變了網頁地址路徑。這樣做的主要目的有兩個,一是讓搜索引擎收錄網站內容,實現讓更多的用戶訪問企業網站內容;二是提升用戶訪問體驗,動態地址帶特殊符號等的URL看起來也不如靜態網頁地址規范。 缺點 動態網頁偽裝成靜態網頁,雖然可以讓搜索引擎收錄,并且可以提升用戶訪問體驗,但偽靜態網頁并不能提開網站的訪問效率性能,從理論上來說還會降低網站的性能,沒有動態轉靜態網頁訪問效率高,但是對于一些并發不是超大的情況來說,或者是硬件資源充足的情況下,偽靜態還是一個不錯的實用功能,因為要把動態網頁真正地轉成靜態網頁,不是一朝一夕的事情,需要技術團隊通力配合才能行。 現在很多大型的網站都采用了動態網頁生成靜態網頁的技術,消除動態網頁中的參數以使搜索引擎收錄更多的內容,達到優化網站的效果。當網站遇到訪問“瓶頸”時,如果有技術力量將動態網頁轉化成靜態網頁那就再好不過了,但是,有些更新頻率很高的業務并不適合這么做,或者將動態轉為靜態有很大難度,這時就可以考慮設置偽靜態。 小結 利用rewrite技術將動態網頁偽裝成靜態網頁(URL地址改寫)。便于搜索引擎收錄,提升用戶訪問量以及用戶體驗。訪問性能沒有提升,并且轉換偽靜態會消耗資源,因此網站性能反而會下降。盡可能將動態網頁轉換成真正的靜態頁面。并發量不是很大或者動態更新過于頻繁的時候,用rewrite實現偽靜態也是不錯的。偽靜態網頁的實現過程一般是由運營產品提出需求,開發和運維共同實現的。 四、Web架構優化實戰方案 由于靜態網頁程序在客戶端解析,大大降低了服務器端的訪問壓力,因此解析效率更高,在實際高并發網站架構中,可以考慮把用戶請求的數據解析后轉換成靜態文件存放于磁盤中或放于內存中以減少動態服務器的壓力、節約企業成本、提升用戶體驗。 下面介紹幾個高并發網站架構從動態轉靜態不用更改企業業務產品代碼就可以實現的例子。 1、新聞門戶網站 新聞網站的特點是一旦發布完成,幾乎不會再改動網頁內容。因此,對于新聞業務內容的靜態化相對比較簡單。 第一步:程序要支持發布動態內容轉成靜態功能。 第二步:運營編輯人員發布新聞網頁后,后臺程序立刻將動態網頁生成靜態文件。 第三步:運維人員通過發布或事件觸發把運營編輯生成的靜態網頁發布到事先搭建好的公司緩存集群服務器上,或者把靜態內容同步到購買的全國所有CDN服務器節點上,然后再提供給用戶訪問瀏覽。 2、視頻網站視頻網站 和新聞網站類似,特點都是一旦發布完成,幾乎不會再改動網頁內容。因此,實現視頻業務網站高效訪問也很簡單。 以bilibili為例,用戶在上傳視頻時,需要經歷轉碼→審核的過程(大概需要1個小時),然后一些熱點視頻也可能會被提前推送到CDN的核心節點或全國所有CDN服務器節點,用戶訪問時才會更快。 3、Blog/BBS/SNS/微博社區業務/電商(如淘寶、京東) 這幾類業務的動態轉靜態是比較困難的,因為用戶發布完成后,可能會隨時更新并查看,這種情況一般會通過異步方式,如消息中間件技術加上NoSQL集群技術實現實現轉換,當然也會改進產品細節。 以信載商,良心建站。遨游始終秉承“一次建站、終身維護”的宗旨,竭誠為客戶提供最優質的互聯網服務。遨游建站率先植入seo優化理念,讓你的網頁更利于搜索引擎抓取,關鍵詞排名更靠前。可仿站、可定制。無論是傳統型企業官網、集團型品牌官網,還是營銷型網站、電商型網站、定制型網站、特殊行業網站(醫療、教育),全部搞定。 公司:網站建設_小程序設計_競價托管代運營公司;郵箱:1013601535@qq.com 手機:17073547034;QQ: 1013601535 在線留言咨詢,24小時內回復
我想咨詢 *
企業名稱
手機號碼 *
您的姓名
所在城市 提交 |
網站建設問題
熱門標簽
|