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