一種資源訪問方法及裝置的制造方法
【專利說明】
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)應(yīng)用技術(shù)領(lǐng)域,尤其涉及一種資源訪問方法及裝置。
【【背景技術(shù)】】
[0002]目前,隨著移動互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,終端上安裝的應(yīng)用越來越多,如瀏覽器、新聞應(yīng)用等,這些應(yīng)用在使用過程中往往需要頻繁加載頁面。
[0003]然而,這些加載的頁面中,往往包含很多由第三方應(yīng)用所提供的資源,從而使得應(yīng)用的服務(wù)器上會接入大量的第三方應(yīng)用,因此應(yīng)用中頁面的加載速度比較慢,使得應(yīng)用的首屏頁面內(nèi)容無法及時展現(xiàn)給用戶。根據(jù)監(jiān)測的加載速度,在基于IEEE 802.11標(biāo)準(zhǔn)的無線局域網(wǎng)(Wireless Fidelity, W1-Fi)或者第三代移動通信技術(shù)(3rd_Generat1n,3G)網(wǎng)絡(luò)下,70%以上的第三方應(yīng)用的首屏頁面加載時間超過2秒鐘。
【
【發(fā)明內(nèi)容】
】
[0004]有鑒于此,本發(fā)明實施例提供了一種資源訪問方法及裝置,可以實現(xiàn)提高應(yīng)用加載頁面的效率。
[0005]本發(fā)明實施例的一方面,提供一種資源訪問方法,包括:
[0006]內(nèi)容分發(fā)網(wǎng)絡(luò)CDN服務(wù)器接收針對預(yù)設(shè)域名的資源訪問請求;其中,所述資源訪問請求經(jīng)過域名解析指向所述CDN服務(wù)器;
[0007]若所述⑶N服務(wù)器存儲有所述資源訪問請求所針對的資源,所述⑶N服務(wù)器將所述資源發(fā)送給客戶端;若所述CDN服務(wù)器沒有存儲所述資源訪問請求所針對的資源,所述CDN服務(wù)器從所述預(yù)設(shè)域名對應(yīng)的服務(wù)器獲得所述資源,并對所述資源進(jìn)行優(yōu)化處理,以及將經(jīng)過優(yōu)化處理的所述資源發(fā)送給所述客戶端。
[0008]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述CDN服務(wù)器從所述預(yù)設(shè)域名對應(yīng)的服務(wù)器獲得所述資源,包括:
[0009]所述CDN服務(wù)器獲得所述預(yù)設(shè)域名對應(yīng)的服務(wù)器的外網(wǎng)IP列表;所述預(yù)設(shè)的應(yīng)用管理平臺預(yù)先存儲域名、網(wǎng)絡(luò)運(yùn)營商信息和外網(wǎng)IP列表的映射關(guān)系;
[0010]所述CDN服務(wù)器根據(jù)所述外網(wǎng)IP列表,從所述預(yù)設(shè)域名對應(yīng)的服務(wù)器獲得所述資源訪問請求所針對的資源。
[0011]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,若所述資源為靜態(tài)資源,所述CDN服務(wù)器對所述資源進(jìn)行優(yōu)化處理,包括:
[0012]所述CDN服務(wù)器對從所述預(yù)設(shè)域名對應(yīng)的服務(wù)器獲得的所述資源進(jìn)行緩存優(yōu)化處理;
[0013]所述CDN服務(wù)器獲得所述資源當(dāng)前的緩存過期時間;
[0014]所述CDN服務(wù)器根據(jù)所述資源當(dāng)前的緩存過期時間和預(yù)設(shè)的時間閾值,確定所述資源的目標(biāo)緩存過期時間;
[0015]所述CDN服務(wù)器根據(jù)所述資源的目標(biāo)緩存過期時間,對經(jīng)過緩存優(yōu)化處理的所述資源進(jìn)行緩存。
[0016]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,若所述資源為超文本標(biāo)記語言HTML文件,所述CDN服務(wù)器對所述資源進(jìn)行優(yōu)化處理,包括:
[0017]所述⑶N服務(wù)器在所述HTML文件中,利用預(yù)設(shè)域名下的URL地址替換目標(biāo)資源地址;
[0018]其中,所述預(yù)設(shè)域名能夠指向所述CDN服務(wù)器;所述目標(biāo)資源地址的域名不屬于所述預(yù)設(shè)域名下,且所述目標(biāo)資源地址不在預(yù)設(shè)白名單域名列表內(nèi)。
[0019]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述方法還包括:
[0020]所述⑶N服務(wù)器在所述HTML文件中,將所述HTML文件中的腳本標(biāo)簽移動至主體內(nèi)容標(biāo)簽的末尾。
[0021]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述CDN服務(wù)器對所述資源進(jìn)行優(yōu)化處理之后,所述方法還包括:
[0022]所述CDN服務(wù)器獲得所述HTML文件當(dāng)前的緩存過期時間;
[0023]所述CDN服務(wù)器根據(jù)所述緩存過期時間,對經(jīng)過優(yōu)化處理的所述HTML文件進(jìn)行緩存。
[0024]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述資源訪問請求所針對的資源為所述服務(wù)器通過第一響應(yīng)包發(fā)送給所述CDN服務(wù)器的;所述CDN服務(wù)器將經(jīng)過優(yōu)化處理的所述資源發(fā)送給所述客戶端,包括:
[0025]所述⑶N服務(wù)器對所述第一響應(yīng)包中的響應(yīng)頭的內(nèi)容進(jìn)行重置;
[0026]所述⑶N服務(wù)器根據(jù)經(jīng)過重置的所述響應(yīng)頭和經(jīng)過優(yōu)化處理的所述HTML文件,生成第二響應(yīng)包;
[0027]所述⑶N服務(wù)器將所述第二響應(yīng)包發(fā)送給所述客戶端。
[0028]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述方法還包括:
[0029]若客戶端發(fā)送針對所述預(yù)設(shè)域名下的URL地址的資源訪問請求,且所述⑶N服務(wù)器沒有存儲所述資源訪問請求所針對的資源,所述CDN服務(wù)器從所述預(yù)設(shè)域名下的URL地址中,獲得所述資源對應(yīng)的目標(biāo)資源地址,以及從所述目標(biāo)資源地址對應(yīng)的服務(wù)器獲取所述資源訪問請求所針對的資源,對所述資源進(jìn)行優(yōu)化處理,存儲經(jīng)過優(yōu)化處理的所述資源,以及將經(jīng)過優(yōu)化處理的所述資源發(fā)送給所述客戶端。
[0030]本發(fā)明實施例的一方面,提供一種資源訪問裝置,包括:
[0031 ] 接收單元,用于接收針對預(yù)設(shè)域名的資源訪問請求;其中,所述資源訪問請求經(jīng)過域名解析指向所述CDN服務(wù)器;
[0032]處理單元,用于若所述CDN服務(wù)器存儲有所述資源訪問請求所針對的資源,觸發(fā)輸入單元將所述資源發(fā)送給客戶端;或者,用于若所述CDN服務(wù)器沒有存儲所述資源訪問請求所針對的資源,觸發(fā)獲取單元從所述預(yù)設(shè)域名對應(yīng)的服務(wù)器獲得所述資源,以及觸發(fā)優(yōu)化單元對所述資源進(jìn)行優(yōu)化處理,以及觸發(fā)所述輸出單元將經(jīng)過優(yōu)化處理的所述資源發(fā)送給所述客戶端。
[0033]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述獲取單元,具體用于:
[0034]獲得所述預(yù)設(shè)域名對應(yīng)的服務(wù)器的外網(wǎng)IP列表;所述預(yù)設(shè)的應(yīng)用管理平臺預(yù)先存儲域名、網(wǎng)絡(luò)運(yùn)營商信息和外網(wǎng)IP列表的映射關(guān)系;
[0035]根據(jù)所述外網(wǎng)IP列表,從所述預(yù)設(shè)域名對應(yīng)的服務(wù)器獲得所述資源訪問請求所針對的資源。
[0036]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,若所述資源為靜態(tài)資源,所述優(yōu)化單元,具體用于:
[0037]對從所述預(yù)設(shè)域名對應(yīng)的服務(wù)器獲得的所述資源進(jìn)行緩存優(yōu)化處理;
[0038]獲得所述資源當(dāng)前的緩存過期時間;
[0039]根據(jù)所述資源當(dāng)前的緩存過期時間和預(yù)設(shè)的時間閾值,確定所述資源的目標(biāo)緩存過期時間;
[0040]所述裝置還包括:緩存單元,用于根據(jù)所述資源的目標(biāo)緩存過期時間,對經(jīng)過緩存優(yōu)化處理的所述資源進(jìn)行緩存。
[0041]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,若所述資源為超文本標(biāo)記語言HTML文件,所述優(yōu)化單元具體用于:
[0042]在所述HTML文件中,利用預(yù)設(shè)域名下的URL地址替換目標(biāo)資源地址;
[0043]其中,所述預(yù)設(shè)域名能夠指向所述CDN服務(wù)器;所述目標(biāo)資源地址的域名不屬于所述預(yù)設(shè)域名下,且所述目標(biāo)資源地址不在預(yù)設(shè)白名單域名列表內(nèi)。
[0044]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述優(yōu)化單元還用于:
[0045]在所述HTML文件中,將所述HTML文件中的腳本標(biāo)簽移動至主體內(nèi)容標(biāo)簽的末尾。
[0046]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述裝置還包括:
[0047]緩存單元,用于獲得所述HTML文件當(dāng)前的緩存過期時間;以及,根據(jù)所述緩存過期時間,對經(jīng)過優(yōu)化處理的所述HTML文件進(jìn)行緩存。
[0048]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述資源訪問請求所針對的資源為所述服務(wù)器通過第一響應(yīng)包發(fā)送給所述CDN服務(wù)器的;所述輸出單元,具體用于:
[0049]對所述第一響應(yīng)包中的響應(yīng)頭的內(nèi)容進(jìn)行重置;
[0050]根據(jù)經(jīng)過重置的所述響應(yīng)頭和經(jīng)過優(yōu)化處理的所述HTML文件,生成第二響應(yīng)包;
[0051]將所述第二響應(yīng)包發(fā)送給所述客戶端。
[0052]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述處理單元還用于:
[0053]若客戶端發(fā)送針對所述預(yù)設(shè)域名下的URL地址的資源訪問請求,且所述⑶N服務(wù)器沒有存儲所述資源訪問請求所針對的資源,從所述預(yù)設(shè)域名下的URL地址中,獲得所述資源對應(yīng)的目標(biāo)資源地址,以及觸發(fā)所述獲取單元從所述目標(biāo)資源地址對應(yīng)的服務(wù)器獲取所述資源訪問請求所針對的資源,以