2019-08-30
網站建設中(zhōng)的靜态化html處理方法
純靜态網頁:
純靜态的網頁一(yī)般以.html或者htm結尾,地址對應的是一(yī)個文件,這個文件實實在在的存在于網站服務器的某個目錄中(zhōng)。
純靜态網頁優勢:
1.當訪問者訪問網頁的時候,不讀取數據庫,直接訪問網站空間對應的文件。(直接讀取文件)
2.純靜态的網頁對搜索引擎友好,是最容易被搜索引擎所收錄的。(易收錄)
3.由于訪問網頁的時候,不需要服務器做過多的處理,對服務器的壓力最小(xiǎo),所以,更容易應對高訪問量。(節省服務器壓力)
4.一(yī)些面對數據庫的攻擊比如SQL注入攻擊,在面對靜态網頁的時候常常難以從地址入手。(安全性高)
純靜态網頁劣勢:
1.由于靜态網頁需要生(shēng)成文件,所以當網站内容更新頻(pín)率高,更新數據量大(dà)的時候,對服務器磁盤的寫入也會很頻(pín)繁;(服務器的負擔)
2.在不采用其他技術的時候,如果更改了模闆,所有相關的html網頁都要重新生(shēng)成,這在面對大(dà)數據量的時候,也不是一(yī)件很好玩的事。(模闆修改、對應變化)
動态網頁:
訪問網頁的時候,需要服務器讀取數據庫,數據庫做出相應的處理,把數據返回給服務器,再由服務器發送給浏覽器,這樣的一(yī)個過程,需要消耗一(yī)定的服務器資(zī)源,在訪問量大(dà)的時候,會加重服務器的負擔。在過去(qù)搜索引擎技術不發達的時候,動态的網頁一(yī)般都不太好收錄,随着搜索引擎技術的提高,現在的動态頁已經難不倒蜘蛛了,但是和純靜态的網頁比起來,還是不如靜态的網頁容易被收錄。
動态頁優勢:
1.動态頁由于不用生(shēng)成html文件,所以可以節省服務器空間,這樣我(wǒ)們可以把更多的資(zī)金放(fàng)在數據庫上,節省出來的服務器空間可以用來放(fàng)更多的圖片附件等文件;(節省服務器空間)
動态頁劣勢:
1.不如靜态的網頁容易被收錄(收錄難)
2.一(yī)些面對數據庫的攻擊比如SQL注入攻擊,在面對動态網頁的時候常常容易從地址入手(安全性低)
網站靜态化處理;
web前端優化技術和網站靜态化技術使用目的是一(yī)緻的,就是讓網站變得更快,用戶體(tǐ)驗更好,我(wǒ)個人認爲網站靜态化技術其實就是web前端優化的一(yī)部分(fēn),隻不過網站靜态化技術是通過服務端的大(dà)規模技術改造來實現web前端技術優化,而服務端的這種改造的目的就是讓整個網站的後台技術架構更加切合web前端的要求,從而能更好的實現web前端優化。我(wǒ)這裏之所以能如此評價網站靜态化技術,其實說明網站靜态化技術和web前端優化技術一(yī)定存在某種強烈的切合點,我(wǒ)個人認爲這個切合點就是它們背後使用的理論基點是一(yī)緻的。那麽它們之間這個切合的理論基點到底是什麽呢?
優秀的網站應該是用戶體(tǐ)驗好的網站,當人們使用這個網站感覺爽,好評不斷,那麽這個網站就是一(yī)個用戶體(tǐ)驗優秀的網站,但是用戶體(tǐ)驗好的網站就是網站布局精美,圖片很炫,人性化設計到位這麽簡單嗎(ma)?這些要素都是網站使用者的感受,但是對于網站設計和開(kāi)發人員(yuán)而言,再好的網站一(yī)定要解決一(yī)個根本問題,那就是網站加載的速度要快,如果網站加載速度不快,你就算把網站設計的再漂亮,估計也會搞的無人問津
網站頁面靜态化的實現方法;
将動态頁面轉化爲實際存在的靜态頁面這種方法,由于靜态頁面的存在,少了動态解析過程,所以提高了頁面的訪問速度和穩定性,使得優化效果非常明顯。所以這種方法被廣泛采用。但是它的局限性同樣存在。對于大(dà)型網站而言,這種方法将帶來不可忽視的問題。由于生(shēng)成的文件數量較多,存儲需要考慮文件、文件夾的數量問題和磁盤空間容量的問題;
頁面維護的複雜(zá)性和大(dà)工(gōng)作量,及帶來的頁面維護及時性問題,需要一(yī)整套站點更新制度。
而URL Rewrite方式特點同樣鮮明,由于是服務器内部解析的地址,所以内容是實時更新的,也不存在文件管理和硬件問題,維護比較方便。在服務器級URL Rewrite重寫技術并不影響頁面的執行速度。但是URL Rewrite的門檻比較高,國内虛拟主機大(dà)多不支持,而且虛拟主機是目錄級的URL Rewrite,通過遍曆目錄讀物(wù)URL轉發規則的方式将大(dà)大(dà)降低頁面的執行速度。
網站頁面靜态化分(fēn)兩種:一(yī)種是利用程序将動态頁面抓取并保存爲實際靜态頁面,頁面實際存在于服務器的硬盤中(zhōng);一(yī)種是通過web服務器的URL Rwrite方式,它是通過web服務器内部模塊按照一(yī)定的規則将外(wài)部的URL請求轉化爲内部的文件地址也就是把外(wài)部請求的靜态地址轉化爲實際的動态頁面地址,而靜态頁面實際是不存在的。
第一(yī)種方式實現過程基本可以分(fēn)解爲:1、通過mybatis框架或herbnate框架或原生(shēng)的jdbc從數據庫拿到數據,2、通過set方法注入到封裝了相應數據屬性的對象data中(zhōng),3、使用quarz調度器框架設置定時任務,按照設定的時間生(shēng)成對應data的json文件,4、通過javascript方法讀取生(shēng)成後存放(fàng)在服務器硬盤中(zhōng)的json文件裏面的數據,5、前端展示的實現是在模闆頁面中(zhōng)調用讀取到對應json文件的.js文件中(zhōng)的function()将數據加載到模闆頁面中(zhōng)對應需要填充該數據的位置。
第二種方式的實現則是在前端提交請求後通過在struts或springMVC框架下(xià)配置或者直接調用原生(shēng)的servlet的request方法将請求通過HTTP協議發送到服務器,服務器将請求轉發獲取對應的内容,然後将拿到内容的路徑通過寫方法設置規則來重寫從而将拿到的内容在前端展示并改變其在前端頁面的路徑顯示。
網站頁面靜态化方案;
1,采用Nginx+Cache+Java結構的虛拟機單機部署;
這種方式是最簡單的靜态化方案,隻需在當前的架構上加一(yī)層Cache層就行了,網絡結構和業務邏輯都不用變化,隻需将系統做靜态化改造就完成了。他的優缺點如下(xià)所示。
優點:
沒有網絡瓶頸,不需要改造網絡;
機器增加,也沒有網卡瓶頸;
機器數增多,故障風險減少。
缺點:
機器增加,緩存命中(zhōng)率下(xià)降;
緩存分(fēn)散,失效難度增加;
Cache和JBoss都會争搶内存。
該方案雖然比較簡單,但也能夠解決熱點商(shāng)品的訪問問題,例如做大(dà)促時,商(shāng)品數比較少,在有限内存中(zhōng)仍然能夠命中(zhōng)這些商(shāng)品;另外(wài)針對一(yī)些惡意攻擊也十分(fēn)有效,這時的命中(zhōng)率能達到90%以上,但是對系統的整體(tǐ)性能沒有很多提升。
2,采用Nginx+Cache+Java結構的實體(tǐ)機單機部署;
這種方案是在前面的基礎上将虛拟機改成實體(tǐ)機,增大(dà)Cache的内存,并且采用了一(yī)緻性Hash分(fēn)組的方式來提升命中(zhōng)率,這裏将Cache分(fēn)成若幹組,這樣可以達到命中(zhōng)率和訪問熱點的平很。他的優點如下(xià):
既沒有網絡瓶頸,也能使用大(dà)内存;
減少Varnish機器,提升命中(zhōng)率;
提升命中(zhōng)率,能減少Gzip壓縮;
減少Cache失效的壓力。
這是一(yī)個比較理想的方案,在正常請求下(xià)也能達到50%左右的命中(zhōng)率,對一(yī)些基數數據比較小(xiǎo)的系統,命中(zhōng)率能達到80%左右,這樣的命中(zhōng)率比較理想。
責任編輯:中(zhōng)山網站建設
【網訊網絡】國家高新技術企業》十年專注軟件開(kāi)發,網站建設,網頁設計,APP開(kāi)發,小(xiǎo)程序,微信公衆号開(kāi)發,定制各類企業管理軟件(OA、CRM、ERP、訂單管理系統、進銷存管理軟件等)!服務熱線:0760-88610046、13924923903,http://www.wansion.net
上一(yī)篇:美食餐飲網站建設方案分(fēn)析
下(xià)一(yī)篇:iOS 響應式架構設計方案
*請認真填寫需求,我(wǒ)們會在24小(xiǎo)時内與您取得聯系。