網站建設中的(de)靜态化html處理(lǐ)方法

2019-08-30

網站建設中的(de)靜态化html處理(lǐ)方法
純靜态網頁:
  純靜态的(de)網頁一(yī)般以.html或者htm結尾,地(dì)址對應的(de)是一(yī)個文件,這個文件實實在在的(de)存在于網站服務器的(de)某個目錄中。

1516091L6-0.jpg

     

純靜态網頁優勢:


      1.當訪問者訪問網頁的(de)時候,不讀取數據庫,直接訪問網站空間對應的(de)文件。(直接讀取文件)

      2.純靜态的(de)網頁對搜索引擎友好,是最容易被搜索引擎所收錄的(de)。(易收錄)

     3.由于訪問網頁的(de)時候,不需要服務器做(zuò)過多的(de)處理(lǐ),對服務器的(de)壓力最小,所以,更容易應對高(gāo)訪問量。(節省服務器壓力)

      4.一(yī)些面對數據庫的(de)攻擊比如(rú)SQL注入攻擊,在面對靜态網頁的(de)時候常常難以從地(dì)址入手。(安全性高(gāo))

  純靜态網頁劣勢:

      1.由于靜态網頁需要生成文件,所以當網站內(nèi)容更新頻率高(gāo),更新數據量大的(de)時候,對服務器磁盤的(de)寫入也會很頻繁;(服務器的(de)負擔)

      2.在不采用其他技術的(de)時候,如(rú)果更改了模闆,所有相關的(de)html網頁都要重新生成,這在面對大數據量的(de)時候,也不是一(yī)件很好玩的(de)事。(模闆修改、對應變化)

動态網頁:
  訪問網頁的(de)時候,需要服務器讀取數據庫,數據庫做(zuò)出相應的(de)處理(lǐ),把數據返回給服務器,再由服務器發送給浏覽器,這樣的(de)一(yī)個過程,需要消耗一(yī)定的(de)服務器資源,在訪問量大的(de)時候,會加重服務器的(de)負擔。在過去(qù)搜索引擎技術不發達的(de)時候,動态的(de)網頁一(yī)般都不太好收錄,随着搜索引擎技術的(de)提高(gāo),現在的(de)動态頁已經難不倒蜘蛛了,但是和(hé)純靜态的(de)網頁比起來,還是不如(rú)靜态的(de)網頁容易被收錄。

20140922113622614.jpg


  動态頁優勢:

      1.動态頁由于不用生成html文件,所以可(kě)以節省服務器空間,這樣我們可(kě)以把更多的(de)資金放在數據庫上,節省出來的(de)服務器空間可(kě)以用來放更多的(de)圖片附件等文件;(節省服務器空間)

  動态頁劣勢:

      1.不如(rú)靜态的(de)網頁容易被收錄(收錄難)

       2.一(yī)些面對數據庫的(de)攻擊比如(rú)SQL注入攻擊,在面對動态網頁的(de)時候常常容易從地(dì)址入手(安全性低(dī))

網站靜态化處理(lǐ);

  web前端優化技術和(hé)網站靜态化技術使用目的(de)是一(yī)緻的(de),就是讓網站變得更快,用戶體驗更好,我個人認為(wèi)網站靜态化技術其實就是web前端優化的(de)一(yī)部分,隻不過網站靜态化技術是通過服務端的(de)大規模技術改造來實現web前端技術優化,而服務端的(de)這種改造的(de)目的(de)就是讓整個網站的(de)後台技術架構更加切合web前端的(de)要求,從而能更好的(de)實現web前端優化。我這裏之所以能如(rú)此評價網站靜态化技術,其實說明網站靜态化技術和(hé)web前端優化技術一(yī)定存在某種強烈的(de)切合點,我個人認為(wèi)這個切合點就是它們背後使用的(de)理(lǐ)論基點是一(yī)緻的(de)。那麽它們之間這個切合的(de)理(lǐ)論基點到底是什麽呢(ne)?

優秀的(de)網站應該是用戶體驗好的(de)網站,當人們使用這個網站感覺爽,好評不斷,那麽這個網站就是一(yī)個用戶體驗優秀的(de)網站,但是用戶體驗好的(de)網站就是網站布局精美,圖片很炫,人性化設計到位這麽簡單嗎?這些要素都是網站使用者的(de)感受,但是對于網站設計和(hé)開發人員而言,再好的(de)網站一(yī)定要解決一(yī)個根本問題,那就是網站加載的(de)速度要快,如(rú)果網站加載速度不快,你就算把網站設計的(de)再漂亮(liàng),估計也會搞的(de)無人問津

網站頁面靜态化的(de)實現方法;

将動态頁面轉化為(wèi)實際存在的(de)靜态頁面這種方法,由于靜态頁面的(de)存在,少了動态解析過程,所以提高(gāo)了頁面的(de)訪問速度和(hé)穩定性,使得優化效果非常明顯。所以這種方法被廣泛采用。但是它的(de)局限性同樣存在。對于大型網站而言,這種方法将帶來不可(kě)忽視(shì)的(de)問題。由于生成的(de)文件數量較多,存儲需要考慮文件、文件夾的(de)數量問題和(hé)磁盤空間容量的(de)問題;
頁面維護的(de)複雜性和(hé)大工作量,及帶來的(de)頁面維護及時性問題,需要一(yī)整套站點更新制度。

  而URL Rewrite方式特點同樣鮮明,由于是服務器內(nèi)部解析的(de)地(dì)址,所以內(nèi)容是實時更新的(de),也不存在文件管理(lǐ)和(hé)硬件問題,維護比較方便。在服務器級URL Rewrite重寫技術并不影響頁面的(de)執行速度。但是URL Rewrite的(de)門檻比較高(gāo),國(guó)內(nèi)虛拟主機大多不支持,而且虛拟主機是目錄級的(de)URL Rewrite,通過遍曆目錄讀物URL轉發規則的(de)方式将大大降低(dī)頁面的(de)執行速度。

網站頁面靜态化分兩種:一(yī)種是利用程序将動态頁面抓取并保存為(wèi)實際靜态頁面,頁面實際存在于服務器的(de)硬盤中;一(yī)種是通過web服務器的(de)URL Rwrite方式,它是通過web服務器內(nèi)部模塊按照一(yī)定的(de)規則将外部的(de)URL請求轉化為(wèi)內(nèi)部的(de)文件地(dì)址也就是把外部請求的(de)靜态地(dì)址轉化為(wèi)實際的(de)動态頁面地(dì)址,而靜态頁面實際是不存在的(de)。

        第一(yī)種方式實現過程基本可(kě)以分解為(wèi):1、通過mybatis框架或herbnate框架或原生的(de)jdbc從數據庫拿到數據,2、通過set方法注入到封裝了相應數據屬性的(de)對象data中,3、使用quarz調度器框架設置定時任務,按照設定的(de)時間生成對應data的(de)json文件,4、通過javascript方法讀取生成後存放在服務器硬盤中的(de)json文件裏面的(de)數據,5、前端展示的(de)實現是在模闆頁面中調用讀取到對應json文件的(de).js文件中的(de)function()将數據加載到模闆頁面中對應需要填充該數據的(de)位置。

       第二種方式的(de)實現則是在前端提交請求後通過在struts或springMVC框架下配置或者直接調用原生的(de)servlet的(de)request方法将請求通過HTTP協議發送到服務器,服務器将請求轉發獲取對應的(de)內(nèi)容,然後将拿到內(nèi)容的(de)路徑通過寫方法設置規則來重寫從而将拿到的(de)內(nèi)容在前端展示并改變其在前端頁面的(de)路徑顯示。

網站頁面靜态化方案;
1,采用Nginx+Cache+Java結構的(de)虛拟機單機部署;
這種方式是最簡單的(de)靜态化方案,隻需在當前的(de)架構上加一(yī)層Cache層就行了,網絡結構和(hé)業務邏輯都不用變化,隻需将系統做(zuò)靜态化改造就完成了。他的(de)優缺點如(rú)下所示。
優點:

        沒有網絡瓶頸,不需要改造網絡;
        機器增加,也沒有網卡瓶頸;
        機器數增多,故障風險減少。

缺點:

        機器增加,緩存命中率下降;
        緩存分散,失效難度增加;
        Cache和(hé)JBoss都會争搶內(nèi)存。

該方案雖然比較簡單,但也能夠解決熱點商品的(de)訪問問題,例如(rú)做(zuò)大促時,商品數比較少,在有限內(nèi)存中仍然能夠命中這些商品;另外針對一(yī)些惡意攻擊也十分有效,這時的(de)命中率能達到90%以上,但是對系統的(de)整體性能沒有很多提升。

2,采用Nginx+Cache+Java結構的(de)實體機單機部署;
這種方案是在前面的(de)基礎上将虛拟機改成實體機,增大Cache的(de)內(nèi)存,并且采用了一(yī)緻性Hash分組的(de)方式來提升命中率,這裏将Cache分成若幹組,這樣可(kě)以達到命中率和(hé)訪問熱點的(de)平很。他的(de)優點如(rú)下:

        既沒有網絡瓶頸,也能使用大內(nèi)存;
        減少Varnish機器,提升命中率;
        提升命中率,能減少Gzip壓縮;
        減少Cache失效的(de)壓力。

這是一(yī)個比較理(lǐ)想的(de)方案,在正常請求下也能達到50%左右的(de)命中率,對一(yī)些基數數據比較小的(de)系統,命中率能達到80%左右,這樣的(de)命中率比較理(lǐ)想。

責任編輯:中山網站建設
 【網訊網絡】國(guó)家高(gāo)新技術企業》十年(nián)專注軟件開發,網站建設,網頁設計,APP開發,小程序,微信公衆号開發,定制各類企業管理(lǐ)軟件(OA、CRM、ERP、訂單管理(lǐ)系統、進銷存管理(lǐ)軟件等)!服務熱線:0760-88610046、13924923903,http://www.wansion.net

您的(de)項目需求咨詢熱線:0760-88610046(國(guó)家高(gāo)新技術企業)

*請認真填寫需求,我們會在24小時內(nèi)與您取得聯系。