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

2019-08-30

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

1516091L6-0.jpg

     

純靜态網頁優勢:


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

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

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

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

  純靜态網頁劣勢:

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

      2.在不采用(yòng)其他(tā)技術的(de)時(shí)候,如果更改了(le)模闆,所有相關的(de)html網頁都要重新生成,這(zhè)在面對(duì)大(dà)數據量的(de)時(shí)候,也(yě)不是一件很好玩的(de)事。(模闆修改、對(duì)應變化(huà))

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

20140922113622614.jpg


  動态頁優勢:

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

  動态頁劣勢:

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

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

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

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

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

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

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

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

網站頁面靜态化(huà)分(fēn)兩種:一種是利用(yòng)程序将動态頁面抓取并保存爲實際靜态頁面,頁面實際存在于服務器的(de)硬盤中;一種是通(tōng)過web服務器的(de)URL Rwrite方式,它是通(tōng)過web服務器内部模塊按照(zhào)一定的(de)規則将外部的(de)URL請求轉化(huà)爲内部的(de)文件地址也(yě)就是把外部請求的(de)靜态地址轉化(huà)爲實際的(de)動态頁面地址,而靜态頁面實際是不存在的(de)。

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

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

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

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

缺點:

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

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

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

        既沒有網絡瓶頸,也(yě)能使用(yòng)大(dà)内存;
        減少Varnish機器,提升命中率;
        提升命中率,能減少Gzip壓縮;
        減少Cache失效的(de)壓力。

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

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

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

*請認真填寫需求,我們會在24小時(shí)内與您取得(de)聯系。