提高Web站點(diǎn)資源加載速度的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)數(shù)據(jù)應(yīng)用領(lǐng)域,尤其涉及一種提高Web站點(diǎn)資源加載速度的方法及系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有的互聯(lián)網(wǎng)的web應(yīng)用中,很多網(wǎng)站存在訪問(wèn)速度緩慢的問(wèn)題,為了增加訪問(wèn)速度,服務(wù)商往往通過(guò)投入大量的硬件資源或者提高網(wǎng)絡(luò)帶寬來(lái)提高用戶的訪問(wèn)速度。
[0003]目前解決上述問(wèn)題的技術(shù)手段主要依據(jù)如下方法:
[0004]1.當(dāng)用戶需要獲取某個(gè)資源訪問(wèn)網(wǎng)點(diǎn)時(shí),首先需要即時(shí)請(qǐng)求服務(wù)器下載所依賴(lài)的所有資源;
[0005]2.請(qǐng)求資源包括所有的靜態(tài)資源和動(dòng)態(tài)資源,而且所有的資源,包括靜態(tài)資源,都需要服務(wù)器解析后返回給客戶端用戶;
[0006]3.所有的javascript文件和CSS文件都不經(jīng)過(guò)極限壓縮返回給客戶端;
[0007]然而,上述解決方法中,存在如下不足:
[0008]1.所有資源都需要服務(wù)器解析后返回給用戶,當(dāng)用戶訪問(wèn)量巨大之后,給服務(wù)器造成巨大的壓力,服務(wù)商往往通過(guò)投入大量的硬件資源才能提高用戶訪問(wèn)速度;
[0009]2.靜態(tài)資源文件不通過(guò)壓縮返回給客戶端造成極大的帶寬浪費(fèi),同時(shí)降低了用戶體驗(yàn),安全性也較差。
[0010]因此,如何設(shè)計(jì)出一種提高用戶訪問(wèn)速率,并提高數(shù)據(jù)訪問(wèn)的安全性的資源獲取方法便成為了目前亟待解決的問(wèn)題。
【發(fā)明內(nèi)容】
[0011]為解決上述技術(shù)問(wèn)題,本發(fā)明公開(kāi)了一種提高Web站點(diǎn)資源加載速度的方法,其包含如下步驟:
[0012]將待訪問(wèn)的Web瀏覽器端采用全靜態(tài)資源構(gòu)建而成;
[0013]將待訪問(wèn)的Web資源,采用預(yù)加載、異步加載和按需加載的方式存儲(chǔ)在客戶端內(nèi)存;
[0014]用戶訪問(wèn)Web瀏覽器,從客戶端緩存中獲取數(shù)據(jù)。
[0015]進(jìn)一步地,在上述方法中,Web瀏覽器端資源的動(dòng)態(tài)數(shù)據(jù)采用以XMLHTTPRequest異步方式加載數(shù)據(jù)。
[0016]進(jìn)一步地,在上述方法中,Web瀏覽器端資源的css文件和javascript文件首先通過(guò)極限壓縮工具壓縮之后再上傳到服務(wù)端部署。
[0017]進(jìn)一步地,在上述方法中,經(jīng)過(guò)極限壓縮后,服務(wù)器端再采用GZIP方式進(jìn)行再次壓縮后,提供給瀏覽器用戶訪問(wèn)使用。
[0018]進(jìn)一步地,在上述方法中,當(dāng)用戶訪問(wèn)具體的資源時(shí),若客戶端緩存中不存在該資源,按照單例、按需加載的模式加載數(shù)據(jù),同時(shí)將加載后的資源存儲(chǔ)在緩存中。
[0019]另一方面,本發(fā)明還同時(shí)提供了一種提高Web站點(diǎn)資源加載速度的系統(tǒng),所述系統(tǒng)包括:
[0020]資源構(gòu)建模塊,用于將待訪問(wèn)的站點(diǎn)瀏覽器端資源采用全靜態(tài)資源構(gòu)建而成;
[0021]加載模塊,用于對(duì)于用戶待訪問(wèn)的資源,采用預(yù)加載、異步加載和按需加載的方式存儲(chǔ)在客戶端內(nèi)存;
[0022]獲取模塊,用于在用戶通過(guò)Web瀏覽器訪問(wèn)站點(diǎn)時(shí),從客戶端緩存中獲取數(shù)據(jù)。
[0023]優(yōu)選地,所述系統(tǒng)還包括:
[0024]動(dòng)態(tài)加載模塊,用于將瀏覽器端資源的動(dòng)態(tài)數(shù)據(jù)采用以XMLHTTPRequest異步方式加載數(shù)據(jù)。
[0025]優(yōu)選地,所述系統(tǒng)還包括:
[0026]壓縮模塊,用于將瀏覽器端資源的css文件和javascript文件首先通過(guò)極限壓縮工具壓縮之后再上傳到服務(wù)端部署。
[0027]優(yōu)選地,所述系統(tǒng)還包括:
[0028]二次壓縮模塊,用于在經(jīng)過(guò)極限壓縮后,再采用GZIP方式進(jìn)行再次壓縮后,提供給瀏覽器用戶訪問(wèn)使用。
[0029]優(yōu)選地,所述系統(tǒng)還包括:
[0030]按需加載模塊,用于當(dāng)用戶訪問(wèn)具體的資源時(shí),若客戶端緩存中不存在該資源,按照單例、按需加載的模式加載數(shù)據(jù),同時(shí)將加載后的資源存儲(chǔ)在緩存中。
[0031]與現(xiàn)有技術(shù)相比,本發(fā)明所提供的一種提高Web站點(diǎn)資源加載速度的方法及系統(tǒng),網(wǎng)站瀏覽器端采用全靜態(tài)資源構(gòu)建而成,對(duì)服務(wù)器設(shè)備性能要求不高,從而降低了服務(wù)硬件成本;此外,本發(fā)明將待訪問(wèn)的資源,采用預(yù)加載、異步按需加載的方式,在程序內(nèi)部以靜默的方式加載,完成后存儲(chǔ)在客戶端內(nèi)存,用戶正式訪問(wèn)頁(yè)面時(shí),從緩存中獲取數(shù)據(jù),極大的提高了用戶的訪問(wèn)效率;通過(guò)對(duì)腳本的混淆和壓縮同時(shí)也提高了數(shù)據(jù)訪問(wèn)的安全性。
【附圖說(shuō)明】
[0032]圖1為本發(fā)明實(shí)施例中的一種提高Web站點(diǎn)資源加載速度的方法的;流程示意圖;
[0033]圖2為本發(fā)明的一個(gè)優(yōu)選實(shí)施例中用戶訪問(wèn)站點(diǎn)的資源加載過(guò)程示意圖。
【具體實(shí)施方式】
[0034]如在說(shuō)明書(shū)及權(quán)利要求當(dāng)中使用了某些詞匯來(lái)指稱(chēng)特定組件。本領(lǐng)域技術(shù)人員應(yīng)可理解,產(chǎn)品制造商可能會(huì)用不同名詞來(lái)稱(chēng)呼同一個(gè)部件。本說(shuō)明書(shū)及權(quán)利要求并不以名稱(chēng)的差異來(lái)作為區(qū)分部件的方式,而是以部件在功能上的差異來(lái)作為區(qū)分的準(zhǔn)則。說(shuō)明書(shū)后續(xù)描述為實(shí)施本發(fā)明的較佳實(shí)施方式,然所述描述乃以說(shuō)明本發(fā)明的一般原則為目的,并非用以限定本發(fā)明的范圍。本發(fā)明的保護(hù)范圍當(dāng)視所附權(quán)利要求所界定者為準(zhǔn)。
[0035]以下結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明,但不作為對(duì)本發(fā)明的限定。
[0036]參照附圖1,本發(fā)明實(shí)施例所公開(kāi)的一種提高Web站點(diǎn)資源加載速度的方法,包括如下步驟:
[0037]S1:將待訪問(wèn)的站點(diǎn)瀏覽器端資源采用全靜態(tài)資源構(gòu)建而成;
[0038]S2:對(duì)于用戶待訪問(wèn)的資源,采用預(yù)加載、異步加載和按需加載的方式存儲(chǔ)在客戶端內(nèi)存;
[0039]S3:用戶通過(guò)Web瀏覽器訪問(wèn)站點(diǎn),從客戶端緩存中獲取數(shù)據(jù)。
[0040]本發(fā)明的網(wǎng)站瀏覽器端采用全靜態(tài)資源構(gòu)建而成,對(duì)服務(wù)器設(shè)備性能要求不高,從而降低了服務(wù)硬件成本。
[0041]具體來(lái)說(shuō),對(duì)于站點(diǎn)資源構(gòu)成,Web前端即瀏覽器端資源全部采用全靜態(tài)資源構(gòu)建而成,動(dòng)態(tài)效果數(shù)據(jù)采用以XMLHTTPRequest異步方式加載數(shù)據(jù)。XMLHttpRequest對(duì)象可以在不向服務(wù)器提交整個(gè)頁(yè)面的情況下,實(shí)現(xiàn)局部更新網(wǎng)頁(yè)。當(dāng)頁(yè)面全部加載完畢后,客戶端通過(guò)該對(duì)象向服務(wù)器請(qǐng)求數(shù)據(jù),服務(wù)器端接受數(shù)據(jù)并處理后,向客戶端反饋數(shù)據(jù)。XMLHttpRequest可以同步或異步返回Web服務(wù)器的響應(yīng),并且能以文本或者一個(gè)DOM文檔形式返回內(nèi)容。XMLHttpRequest并不限于和XML文檔