淺談——頁面靜態化


           現在互聯網發展越來越迅速,對網站的性能要求越來越高,也就是如何應對高並發量。像12306需要應付上億人同時來搶票,淘寶雙十一……所以,如何提高網站的性能,是做網站都需要考慮的。

 

           首先網站性能優化的方面有很多:1,使用緩存,最傳統的一級二級緩存;2,將服務和數據庫分開,使用不同的服務器,分工更加明確,效率更加高;3,分布式,提供多台服務器,利用反向代理服務器nginx進行反向代理,將請求分散開來;4,數據庫的讀寫分離,不同的數據庫,將讀操作和寫操作分開,並實時同步即可;5,分布式緩存,使用memcached或者redis等分布式緩存服務器,可以達到效果;6,就是今天要淺談的頁面靜態化。當然還有其他很多方便需要處理,例如,數據庫的設計,分庫分字段,sql語句的優化等等。

 

          今天簡單來談談頁面靜態化,來提高訪問效率。對於Java程序開發,Jsp頁面經歷了靜態頁面到動態頁面,使頁面豐富多彩,現在為了追求效率,追求性能,又反向動態頁面向靜態頁面的轉化。  突然讓我想起了一句話“物極必反,否極泰來”,天底下,任何人任何物,都沒有絕對的對與錯,好與差,只有在特定的環境的,特定的情節,才有可比較之處。這也正是我對軟件IT技術,甚至更廣方面技術的看法,沒有好與差,沒有優與劣,只有看我們是否能夠將其用到恰當的地方,發揮它的優勢,避免他的不足!所以,不要談技術好與差,只有看我們人用的怎么樣!

 

          好了,廢話不說,看看頁面靜態化如何提高效率和其實現的邏輯吧。

 

          頁面靜態化,其實就是將動態生成的jsp頁面,變成靜態的HTML頁面,讓用戶直接訪問。有一下幾方面好處:1,首先就是訪問速度,不需要去訪問數據庫,或者緩存來獲取哪些數據,瀏覽器直接加載渲染html頁即可。所以可以大大的提高訪問效率;   2從網站優化來分析,搜索引擎更喜歡靜態的網頁,靜態網頁與動態網頁相比,搜索引擎更喜歡靜的,更便於抓取,搜索引擎SEO排名更容易提高。      3,從安全角度講,靜態網頁不宜遭到黑客攻擊,如果黑客不知道你網站的后台、網站采用程序、數據庫的地址,靜態網頁, 更不容易受到黑客的攻擊。      4,從網站穩定性來講,如果程序、數據庫出了問題,會直接影響網站的訪問,而靜態網頁就避免了如此情況,不會因為程序等,而損失網站數據,影響正常打開,損失用戶體驗,影響網站信任度。

 

          實 現邏輯:一,首先需要我們將一些需要靜態化的頁面進行分類,哪些經常不變內容的頁面都需要靜態化,例如,在電商里邊的商店,店鋪信息頁;商品,貨物信息頁 等等。這些頁面一旦發布了,后來改變的相對來說頻率比較低,所以生成靜態頁面相對來說,可以大大提高用戶的訪問速度(不需要訪問數據庫,來動態生成jsp頁面)。            二,將動態和靜態分離開,例如:頁面中用戶信息,搜索欄等。這些信息需要從服務器獲取,而那些靜態頁面一般放在雲服務器上,例如上篇說到的阿里的OSS服務器,這里就設計到跨域問題,利用JSONP,來進行靜態頁面和動態頁面,不同域直接的整合。            三,靜態頁面的生成,方法很多,這里簡單說一下,例如FreeMarker,首先利用FreeMarker寫好對應的靜態模版.ftl。然后通過接口來傳遞數據,生成靜態的HTML頁面,並上傳對應的雲服務器上,然后用戶直接訪問對應的地址即可。

 

          注意問題:一,每一個商店,每一個產品都會產生一個,甚至是一套靜態頁面,隨着網站的擴大,靜態html頁面將會不斷的增大,增多,所以管理這些靜態頁面就非常需要提前思考了。例如路徑的管理,控件的管理,及時更新的管理等等。       二,有些頁面並不一定非要來靜態化,但是為了避免地址暴露過多的信息,受到不法分子的攻擊,URL偽靜態也可以幫助我們,使頁面看起來就像靜態頁面一樣,這里提供一個URLRwrite,很簡單好用,原理只是一個Filter

 

        好,這篇博客只是簡單總結了一下自己的思路,網站的優化都是一步步走向更好的,靜態化只是其中的一個環節,但是能夠做好,需要考慮的東西還很多,以后多多思考多多學習!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM