專業(yè)網(wǎng)站建設(shè)的網(wǎng)站靜態(tài)化處理方法
純靜態(tài)網(wǎng)頁:
純靜態(tài)的網(wǎng)頁一般以.html或者h(yuǎn)tm結(jié)尾,地址對應(yīng)的是一個文件,這個文件實實在在的存在于網(wǎng)站服務(wù)器的某個目錄中。
純靜態(tài)網(wǎng)頁優(yōu)勢:
1.當(dāng)訪問者訪問網(wǎng)頁的時候,不讀取數(shù)據(jù)庫,直接訪問網(wǎng)站空間對應(yīng)的文件。(直接讀取文件)
2.純靜態(tài)的網(wǎng)頁對搜索引擎友好,是最容易被搜索引擎所收錄的。(易收錄)
3.由于訪問網(wǎng)頁的時候,不需要服務(wù)器做過多的處理,對服務(wù)器的壓力最小,所以,更容易應(yīng)對高訪問量。(節(jié)省服務(wù)器壓力)
4.一些面對數(shù)據(jù)庫的攻擊比如SQL注入攻擊,在面對靜態(tài)網(wǎng)頁的時候常常難以從地址入手。(安全性高)
純靜態(tài)網(wǎng)頁劣勢:
1.由于靜態(tài)網(wǎng)頁需要生成文件,所以當(dāng)網(wǎng)站內(nèi)容更新頻率高,更新數(shù)據(jù)量大的時候,對服務(wù)器磁盤的寫入也會很頻繁;(服務(wù)器的負(fù)擔(dān))
2.在不采用其他技術(shù)的時候,如果更改了模板,所有相關(guān)的html網(wǎng)頁都要重新生成,這在面對大數(shù)據(jù)量的時候,也不是一件很好玩的事。(模板修改、對應(yīng)變化)
動態(tài)網(wǎng)頁:
訪問網(wǎng)頁的時候,需要服務(wù)器讀取數(shù)據(jù)庫,數(shù)據(jù)庫做出相應(yīng)的處理,把數(shù)據(jù)返回給服務(wù)器,再由服務(wù)器發(fā)送給瀏覽器,這樣的一個過程,需要消耗一定的服務(wù)器資源,在訪問量大的時候,會加重服務(wù)器的負(fù)擔(dān)。在過去搜索引擎技術(shù)不發(fā)達的時候,動態(tài)的網(wǎng)頁一般都不太好收錄,隨著搜索引擎技術(shù)的提高,現(xiàn)在的動態(tài)頁已經(jīng)難不倒蜘蛛了,但是和純靜態(tài)的網(wǎng)頁比起來,還是不如靜態(tài)的網(wǎng)頁容易被收錄。
動態(tài)頁優(yōu)勢:
1.動態(tài)頁由于不用生成html文件,所以可以節(jié)省服務(wù)器空間,這樣我們可以把更多的資金放在數(shù)據(jù)庫上,節(jié)省出來的服務(wù)器空間可以用來放更多的圖片附件等文件;(節(jié)省服務(wù)器空間)
動態(tài)頁劣勢:
1.不如靜態(tài)的網(wǎng)頁容易被收錄(收錄難)
2.一些面對數(shù)據(jù)庫的攻擊比如SQL注入攻擊,在面對動態(tài)網(wǎng)頁的時候常常容易從地址入手(安全性低)
網(wǎng)站靜態(tài)化處理;
web前端優(yōu)化技術(shù)和網(wǎng)站靜態(tài)化技術(shù)使用目的是一致的,就是讓網(wǎng)站變得更快,用戶體驗更好,我個人認(rèn)為網(wǎng)站靜態(tài)化技術(shù)其實就是web前端優(yōu)化的一部分,只不過網(wǎng)站靜態(tài)化技術(shù)是通過服務(wù)端的大規(guī)模技術(shù)改造來實現(xiàn)web前端技術(shù)優(yōu)化,而服務(wù)端的這種改造的目的就是讓整個網(wǎng)站的后臺技術(shù)架構(gòu)更加切合web前端的要求,從而能更好的實現(xiàn)web前端優(yōu)化。我這里之所以能如此評價網(wǎng)站靜態(tài)化技術(shù),其實說明網(wǎng)站靜態(tài)化技術(shù)和web前端優(yōu)化技術(shù)一定存在某種強烈的切合點,我個人認(rèn)為這個切合點就是它們背后使用的理論基點是一致的。那么它們之間這個切合的理論基點到底是什么呢?
優(yōu)秀的網(wǎng)站應(yīng)該是用戶體驗好的網(wǎng)站,當(dāng)人們使用這個網(wǎng)站感覺爽,好評不斷,那么這個網(wǎng)站就是一個用戶體驗優(yōu)秀的網(wǎng)站,但是用戶體驗好的網(wǎng)站就是網(wǎng)站布局精美,圖片很炫,人性化設(shè)計到位這么簡單嗎?這些要素都是網(wǎng)站使用者的感受,但是對于
網(wǎng)站設(shè)計和開發(fā)人員而言,再好的網(wǎng)站一定要解決一個根本問題,那就是網(wǎng)站加載的速度要快,如果網(wǎng)站加載速度不快,你就算把
網(wǎng)站設(shè)計的再漂亮,估計也會搞的無人問津
網(wǎng)站頁面靜態(tài)化的實現(xiàn)方法;
將動態(tài)頁面轉(zhuǎn)化為實際存在的靜態(tài)頁面這種方法,由于靜態(tài)頁面的存在,少了動態(tài)解析過程,所以提高了頁面的訪問速度和穩(wěn)定性,使得優(yōu)化效果非常明顯。所以這種方法被廣泛采用。但是它的局限性同樣存在。對于大型網(wǎng)站而言,這種方法將帶來不可忽視的問題。由于生成的文件數(shù)量較多,存儲需要考慮文件、文件夾的數(shù)量問題和磁盤空間容量的問題;
頁面維護的復(fù)雜性和大工作量,及帶來的頁面維護及時性問題,需要一整套站點更新制度。
而URL Rewrite方式特點同樣鮮明,由于是服務(wù)器內(nèi)部解析的地址,所以內(nèi)容是實時更新的,也不存在文件管理和硬件問題,維護比較方便。在服務(wù)器級URL Rewrite重寫技術(shù)并不影響頁面的執(zhí)行速度。但是URL Rewrite的門檻比較高,國內(nèi)虛擬主機大多不支持,而且虛擬主機是目錄級的URL Rewrite,通過遍歷目錄讀物URL轉(zhuǎn)發(fā)規(guī)則的方式將大大降低頁面的執(zhí)行速度。
網(wǎng)站頁面靜態(tài)化分兩種:一種是利用程序?qū)討B(tài)頁面抓取并保存為實際靜態(tài)頁面,頁面實際存在于服務(wù)器的硬盤中;一種是通過web服務(wù)器的URL Rwrite方式,它是通過web服務(wù)器內(nèi)部模塊按照一定的規(guī)則將外部的URL請求轉(zhuǎn)化為內(nèi)部的文件地址也就是把外部請求的靜態(tài)地址轉(zhuǎn)化為實際的動態(tài)頁面地址,而靜態(tài)頁面實際是不存在的。
第一種方式實現(xiàn)過程基本可以分解為:1、通過mybatis框架或herbnate框架或原生的jdbc從數(shù)據(jù)庫拿到數(shù)據(jù),2、通過set方法注入到封裝了相應(yīng)數(shù)據(jù)屬性的對象data中,3、使用quarz調(diào)度器框架設(shè)置定時任務(wù),按照設(shè)定的時間生成對應(yīng)data的json文件,4、通過javascript方法讀取生成后存放在服務(wù)器硬盤中的json文件里面的數(shù)據(jù),5、前端展示的實現(xiàn)是在模板頁面中調(diào)用讀取到對應(yīng)json文件的.js文件中的function()將數(shù)據(jù)加載到模板頁面中對應(yīng)需要填充該數(shù)據(jù)的位置。
第二種方式的實現(xiàn)則是在前端提交請求后通過在struts或springMVC框架下配置或者直接調(diào)用原生的servlet的request方法將請求通過HTTP協(xié)議發(fā)送到服務(wù)器,服務(wù)器將請求轉(zhuǎn)發(fā)獲取對應(yīng)的內(nèi)容,然后將拿到內(nèi)容的路徑通過寫方法設(shè)置規(guī)則來重寫從而將拿到的內(nèi)容在前端展示并改變其在前端頁面的路徑顯示。
網(wǎng)站頁面靜態(tài)化方案;
1,采用Nginx+Cache+Java結(jié)構(gòu)的虛擬機單機部署;
這種方式是最簡單的靜態(tài)化方案,只需在當(dāng)前的架構(gòu)上加一層Cache層就行了,網(wǎng)絡(luò)結(jié)構(gòu)和業(yè)務(wù)邏輯都不用變化,只需將系統(tǒng)做靜態(tài)化改造就完成了。他的優(yōu)缺點如下所示。
優(yōu)點:
沒有網(wǎng)絡(luò)瓶頸,不需要改造網(wǎng)絡(luò);
機器增加,也沒有網(wǎng)卡瓶頸;
機器數(shù)增多,故障風(fēng)險減少。
缺點:
機器增加,緩存命中率下降;
緩存分散,失效難度增加;
Cache和JBoss都會爭搶內(nèi)存。
該方案雖然比較簡單,但也能夠解決熱點商品的訪問問題,例如做大促時,商品數(shù)比較少,在有限內(nèi)存中仍然能夠命中這些商品;另外針對一些惡意攻擊也十分有效,這時的命中率能達到90%以上,但是對系統(tǒng)的整體性能沒有很多提升。
2,采用Nginx+Cache+Java結(jié)構(gòu)的實體機單機部署;
這種方案是在前面的基礎(chǔ)上將虛擬機改成實體機,增大Cache的內(nèi)存,并且采用了一致性Hash分組的方式來提升命中率,這里將Cache分成若干組,這樣可以達到命中率和訪問熱點的平很。他的優(yōu)點如下:
既沒有網(wǎng)絡(luò)瓶頸,也能使用大內(nèi)存;
減少Varnish機器,提升命中率;
提升命中率,能減少Gzip壓縮;
減少Cache失效的壓力。
這是一個比較理想的方案,在正常請求下也能達到50%左右的命中率,對一些基數(shù)數(shù)據(jù)比較小的系統(tǒng),命中率能達到80%左右,這樣的命中率比較理想。
當(dāng)前文章:專業(yè)網(wǎng)站建設(shè)的網(wǎng)站靜態(tài)化處理方法
文章起源:http://jinyejixie.com/news34/126684.html
網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營銷seo公司;服務(wù)項目有網(wǎng)站建設(shè)等
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)