本發(fā)明涉及計算機網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體涉及一種處理網(wǎng)頁中子資源的方法、服務(wù)器、客戶端和系統(tǒng)。
背景技術(shù):現(xiàn)有技術(shù)中,與終端瀏覽器相關(guān)的架構(gòu)為C/S(客戶端/服務(wù)器,Client/Server)架構(gòu)。在此種架構(gòu)中,作為客戶端的終端瀏覽器中帶有渲染引擎,當客戶端請求訪問頁面,并且服務(wù)器返回頁面資源時,客戶端的渲染引擎在本地進行頁面渲染。在此架構(gòu)中,服務(wù)器(也稱為“云端”),通常為代理加緩存的處理模塊??蛻舳说恼埱笸ㄟ^服務(wù)器發(fā)送到網(wǎng)站,而從網(wǎng)站返回的響應(yīng)也通過服務(wù)器返回至客戶端,客戶端在收到服務(wù)器的返回的網(wǎng)頁信息之后,會通過瀏覽器渲染引擎進行渲染,從而呈現(xiàn)渲染后的頁面。網(wǎng)頁中可以包括多種子資源,例如CSS(風格樣式表,也稱為級聯(lián)樣式表,CascadingStyleSheet)子資源和Javascript(腳本文件)子資源等。CSS是用來進行網(wǎng)頁風格設(shè)置所用的數(shù)據(jù)。通過CSS可以統(tǒng)一地設(shè)置網(wǎng)頁中各標志的顯示屬性。使用CSS能夠更加有效地設(shè)置網(wǎng)頁外觀,具體地,可以精確指定網(wǎng)頁元素位置,擴充外觀以及創(chuàng)建特殊效果。JavaScript是一種輕量級的腳本語言,為可插入html(HypertextMarkupLanguage,超文本標記語言)頁面的編程代碼。JavaScript插入html頁面后,可由瀏覽器執(zhí)行。html頁面中的腳本必須位于<script>與</script>標簽之間。腳本可被放置在html頁面的<body>和<head>部分中。網(wǎng)頁中的子資源包括內(nèi)部子資源和外部子資源兩種形式。例如,網(wǎng)頁中所使用的CSS的主要包括外部樣式,將網(wǎng)頁鏈接到外部樣式表;內(nèi)部樣式,將樣式表嵌入網(wǎng)頁中。其中,內(nèi)部樣式具體又包括內(nèi)頁樣式,在網(wǎng)頁中創(chuàng)建嵌入的樣式表,以及行內(nèi)樣式,應(yīng)用內(nèi)嵌樣式到各個網(wǎng)頁元素。html網(wǎng)頁中使用Javascript的方法主要有兩種:(1)外部Javascript,將網(wǎng)頁鏈接到外部Javacript。(2)內(nèi)頁Javascript,在網(wǎng)頁中創(chuàng)建嵌入的Javascript。在現(xiàn)有技術(shù)中,客戶端每次訪問網(wǎng)頁時,都需要從網(wǎng)站獲得網(wǎng)頁中的子資源,通過客戶端與網(wǎng)站間的通信傳輸鏈路進行子資源傳輸,特別是當網(wǎng)頁中外部子資源或內(nèi)部子資源的大小不適合時,例如,當外部子資源的大小過小時,為其建立TCP連接的代價相對其數(shù)據(jù)傳輸而言過大;當網(wǎng)頁內(nèi)部包含的子資源的大小過大時,下載網(wǎng)頁主資源時的數(shù)據(jù)傳輸失敗后重傳的概率增加,傳輸代價增加;由此,進一步導(dǎo)致子資源傳輸速度慢,網(wǎng)頁展現(xiàn)速度慢。
技術(shù)實現(xiàn)要素:鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的處理網(wǎng)頁中子資源的方法、服務(wù)器、客戶端和系統(tǒng)。依據(jù)本發(fā)明的一個方面,提供了一種處理網(wǎng)頁中子資源的方法,所述方法包括:服務(wù)器將客戶端進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給所述網(wǎng)頁所屬的網(wǎng)站,接收網(wǎng)站返回的響應(yīng)信息,判斷所述服務(wù)器中是否已緩存所述網(wǎng)頁的子資源;如果所述服務(wù)器中未緩存所述網(wǎng)頁的子資源,則服務(wù)器將所述網(wǎng)站返回的響應(yīng)信息轉(zhuǎn)發(fā)給所述客戶端,并根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小緩存所述子資源;如果所述服務(wù)器中已緩存所述網(wǎng)頁的子資源,則服務(wù)器根據(jù)已緩存的子資源對接收的響應(yīng)信息進行修改,使客戶端通過修改后的響應(yīng)信息獲得子資源。其中,所述根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小緩存所述子資源包括:所述服務(wù)器根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小判斷是否緩存所述子資源;如果確定緩存所述子資源,則對所述子資源進行去冗余,在所述服務(wù)器中緩存去冗余后的子資源。其中,所述根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小緩存所述子資源包括:所述服務(wù)器判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁的內(nèi)部子資源的大小是否大于等于第一預(yù)設(shè)閥值,如果是,則提取該內(nèi)部子資源進行緩存。其中,所述根據(jù)已緩存的子資源對接收的響應(yīng)信息進行修改,使客戶端通過修改后的響應(yīng)信息獲得子資源包括:所述服務(wù)器將響應(yīng)信息中的已緩存的內(nèi)部子資源內(nèi)容修改為與緩存的該內(nèi)部子資源相對應(yīng)的鏈接,將修改后的響應(yīng)信息發(fā)送給客戶端;所述服務(wù)器接收客戶端發(fā)送的子資源請求,根據(jù)該子資源請求中的鏈接在所述服務(wù)器中查找緩存的內(nèi)部子資源,將查找到的內(nèi)部子資源返回給所述客戶端。其中,所述根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小緩存所述子資源包括:所述服務(wù)器判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁的外部子資源的大小是否小于等于第二預(yù)設(shè)閥值,如果是,則緩存該外部子資源。其中,所述根據(jù)已緩存的子資源對接收的響應(yīng)信息進行修改,使客戶端通過修改后的響應(yīng)信息獲得子資源包括:所述服務(wù)器將響應(yīng)信息中與已緩存的外部子資源相對應(yīng)的鏈接修改為已緩存的該外部子資源內(nèi)容,將修改后的響應(yīng)信息發(fā)送給客戶端。其中,所述根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小緩存所述子資源包括:所述服務(wù)器在根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小確定緩存所述子資源后,記錄所述網(wǎng)頁的URL與緩存的該子資源的對應(yīng)關(guān)系。其中,所述根據(jù)已緩存的子資源對接收的響應(yīng)信息進行修改包括:所述服務(wù)器根據(jù)記錄的網(wǎng)頁的URL與緩存的該子資源的對應(yīng)關(guān)系,修改接收的響應(yīng)信息。其中,所述子資源包括風格樣式表CSS子資源和/或腳本文件子資源。根據(jù)本發(fā)明的一個方面,提供了一種在客戶端加載訪問網(wǎng)頁的子資源的方法,所述方法包括:客戶端向服務(wù)器發(fā)送進行網(wǎng)頁訪問的請求,并接收服務(wù)器返回的響應(yīng)信息,所述響應(yīng)信息為所述網(wǎng)頁所屬的網(wǎng)站返回的響應(yīng)信息或所述服務(wù)器對其修改后的響應(yīng)信息;客戶端對響應(yīng)信息進行解析,根據(jù)解析出的信息獲得網(wǎng)頁中子資源,并加載該子資源。根據(jù)本發(fā)明的另一個方面,提供了一種處理網(wǎng)頁中子資源的服務(wù)器,所述服務(wù)器包括:代理模塊、緩存模塊和子資源優(yōu)化模塊,所述代理模塊,適于將客戶端進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給所述網(wǎng)頁所屬的網(wǎng)站,接收網(wǎng)站返回的響應(yīng)信息,判斷所述緩存模塊中是否已緩存所述網(wǎng)頁的子資源;所述代理模塊,還適于在判斷結(jié)果為所述緩存模塊中未緩存所述網(wǎng)頁的子資源時,將接收的響應(yīng)信息轉(zhuǎn)發(fā)給所述客戶端;所述子資源優(yōu)化模塊包括:子資源大小分析子模塊和子資源修改子模塊,所述子資源大小分析子模塊,適于在判斷結(jié)果為所述緩存模塊中未緩存所述網(wǎng)頁的子資源時,根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小在所述緩存模塊中緩存所述子資源;所述子資源修改子模塊,適于在判斷結(jié)果為所述緩存模塊中已緩存所述網(wǎng)頁的子資源時,根據(jù)已緩存的子資源對接收的響應(yīng)信息進行修改,使客戶端通過修改后的響應(yīng)信息獲得子資源;所述代理模塊,還適于在判斷結(jié)果為所述緩存模塊中已緩存所述網(wǎng)頁的子資源時,將所述子資源修改子模塊修改后的響應(yīng)信息發(fā)送給所述客戶端;所述緩存模塊,適于緩存網(wǎng)頁所包含的子資源。其中,所述子資源優(yōu)化模塊還包括去冗余子模塊,所述去冗余子模塊,適于在確定緩存所述子資源后,對所述子資源進行去冗余,在所述緩存模塊中緩存去冗余后的子資源。其中,所述子資源大小分析子模塊,適于判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁的內(nèi)部子資源的大小是否大于等于第一預(yù)設(shè)閥值,如果是,則提取該內(nèi)部子資源在所述緩存模塊中進行緩存。其中,所述子資源修改子模塊,適于將響應(yīng)信息中的已緩存的內(nèi)部子資源內(nèi)容修改為與緩存的該內(nèi)部子資源相對應(yīng)的鏈接;所述代理模塊,適于將修改后的響應(yīng)信息發(fā)送給客戶端,接收客戶端發(fā)送的子資源請求,根據(jù)該子資源請求中的鏈接在所述緩存模塊中查找緩存的內(nèi)部子資源,將查找到的內(nèi)部子資源返回給所述客戶端。其中,所述子資源大小分析子模塊,適于判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁的外部子資源的大小是否小于等于第二預(yù)設(shè)閥值,如果是,則在所述緩存模塊中緩存該外部子資源。其中,所述子資源修改子模塊,適于將響應(yīng)信息中與已緩存的外部子資源相對應(yīng)的鏈接修改為已緩存的該外部子資源內(nèi)容;所述代理模塊,適于將修改后的響應(yīng)信息發(fā)送給客戶端。其中,所述子資源大小分析子模塊,適于在根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小確定緩存所述子資源后,記錄所述網(wǎng)頁的URL與緩存的該子資源的對應(yīng)關(guān)系。其中,所述子資源修改子模塊,適于根據(jù)記錄的網(wǎng)頁的URL與緩存的該子資源的對應(yīng)關(guān)系,修改接收的響應(yīng)信息。其中,所述子資源包括風格樣式表CSS子資源和/或腳本文件子資源。根據(jù)本發(fā)明的另一個方面,提供了一種加載訪問網(wǎng)頁的子資源的客戶端,所述客戶端包括:通信模塊,適于向服務(wù)器發(fā)送進行網(wǎng)頁訪問的請求,并接收服務(wù)器返回的響應(yīng)信息,所述響應(yīng)信息為所述網(wǎng)頁所屬的網(wǎng)站返回的響應(yīng)信息或所述服務(wù)器對其修改后的響應(yīng)信息;解析模塊,適于對響應(yīng)信息進行解析,根據(jù)解析出的信息獲得網(wǎng)頁中子資源;加載模塊,適于加載獲得的子資源。根據(jù)本發(fā)明的另一個方面,提供了一種加載訪問網(wǎng)頁的子資源的系統(tǒng),所述系統(tǒng)包括:所述的服務(wù)器,以及所述的客戶端。根據(jù)本發(fā)明的技術(shù)方案,服務(wù)器在客戶端訪問網(wǎng)頁時,根據(jù)網(wǎng)站返回的響應(yīng)信息中網(wǎng)頁的子資源的大小緩存該子資源;之后當客戶端再次訪問該網(wǎng)頁時,根據(jù)已緩存的子資源對接收的響應(yīng)信息進行修改,使客戶端通過修改后的響應(yīng)信息獲得子資源。由此可以在客戶端訪問過一次網(wǎng)頁后,服務(wù)器根據(jù)網(wǎng)站返回的響應(yīng)信息中網(wǎng)頁的子資源的大小緩存該子資源;當客戶端再訪問該網(wǎng)頁時,從服務(wù)器緩存中獲得子資源,避免了當網(wǎng)頁中外部子資源或內(nèi)部子資源的大小不適合時,通過客戶端與網(wǎng)站間的通信傳輸鏈路進行子資源傳輸。由此解決了當網(wǎng)頁中子資源的大小不適合時,通過客戶端與網(wǎng)站間的通信傳輸鏈路進行子資源傳輸,導(dǎo)致子資源傳輸速度慢,網(wǎng)頁展現(xiàn)速度慢的問題,取得了提高網(wǎng)頁展現(xiàn)速度,節(jié)省網(wǎng)站的通信帶寬資源的有益效果。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。附圖說明通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:圖1示出了根據(jù)本發(fā)明一個實施例的處理網(wǎng)頁中子資源的服務(wù)器的結(jié)構(gòu)圖;圖2示出了根據(jù)本發(fā)明一個實施例的子資源優(yōu)化模塊的結(jié)構(gòu)圖;圖3示出了根據(jù)本發(fā)明另一個實施例的子資源優(yōu)化模塊的結(jié)構(gòu)圖;圖4示出了根據(jù)本發(fā)明一個實施例的加載訪問網(wǎng)頁的子資源的客戶端的結(jié)構(gòu)圖;圖5示出了根據(jù)本發(fā)明一個實施例的加載訪問網(wǎng)頁的子資源的系統(tǒng)的結(jié)構(gòu)圖;圖6示出了根據(jù)本發(fā)明一個實施例的處理網(wǎng)頁中子資源的方法的流程圖;圖7示出了根據(jù)本發(fā)明一個實施例的將網(wǎng)頁中內(nèi)部子資源轉(zhuǎn)換為外部子資源的方法的流程圖;圖8示出了根據(jù)本發(fā)明一個實施例的將網(wǎng)頁中外部子資源轉(zhuǎn)換為內(nèi)部子資源的方法的流程圖;以及圖9示出了根據(jù)本發(fā)明一個實施例的在客戶端加載訪問網(wǎng)頁的子資源的方法的流程圖。具體實施方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。參見圖1,示出了根據(jù)本發(fā)明一個實施例的處理網(wǎng)頁中子資源的服務(wù)器的結(jié)構(gòu)圖。服務(wù)器100包括:代理模塊110、緩存模塊120和子資源優(yōu)化模塊130。代理模塊110,適于將客戶端200進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,接收網(wǎng)站返回的響應(yīng)信息,判斷緩存模塊120中是否已緩存網(wǎng)頁的子資源,將判斷結(jié)果通知給子資源優(yōu)化模塊130。代理模塊110,還適于在判斷結(jié)果為緩存模塊120中未緩存網(wǎng)頁的子資源時,將接收的響應(yīng)信息轉(zhuǎn)發(fā)給客戶端200。具體而言,由服務(wù)器100在客戶端200和網(wǎng)站間進行信息的轉(zhuǎn)發(fā),在緩存模塊120中沒有緩存網(wǎng)頁的子資源時,客戶端200接收到網(wǎng)站返回的響應(yīng)信息后,按常規(guī)方式獲得子資源。即當子資源為內(nèi)部子資源時,網(wǎng)站返回的響應(yīng)信息中包含該內(nèi)部子資源,客戶端200解析該響應(yīng)信息,獲得呈現(xiàn)網(wǎng)頁所需的子資源。當子資源為外部子資源時,網(wǎng)站返回的響應(yīng)信息中包含該外部子資源的鏈接,客戶端200解析該響應(yīng)信息,獲得鏈接后發(fā)送獲取子資源的請求,服務(wù)器100的代理模塊110將該請求轉(zhuǎn)發(fā)給網(wǎng)站,網(wǎng)站根據(jù)該請求返回子資源,服務(wù)器100的代理模塊110將網(wǎng)站返回的子資源轉(zhuǎn)發(fā)給客戶端200。參見圖2,示出了根據(jù)本發(fā)明一個實施例的子資源優(yōu)化模塊的結(jié)構(gòu)圖。子資源優(yōu)化模塊130包括:子資源大小分析子模塊132和子資源修改子模塊134。子資源大小分析子模塊132,適于在判斷結(jié)果為緩存模塊120中未緩存網(wǎng)頁的子資源時,根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小在緩存模塊120中緩存該子資源。子資源修改子模塊134,適于在判斷結(jié)果為緩存模塊120中已緩存網(wǎng)頁的子資源時,根據(jù)已緩存的子資源對接收的響應(yīng)信息進行修改,使客戶端200通過修改后的響應(yīng)信息獲得子資源。在一具體實施例中,子資源大小分析子模塊132在根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小確定緩存該子資源后,記錄網(wǎng)頁的URL與緩存的該子資源的對應(yīng)關(guān)系。子資源修改子模塊134根據(jù)記錄的網(wǎng)頁的URL與緩存的該子資源的對應(yīng)關(guān)系,修改接收的響應(yīng)信息。代理模塊110,還適于將子資源修改子模塊134修改后的響應(yīng)信息發(fā)送給客戶端200。緩存模塊120,適于緩存網(wǎng)頁所包含的子資源。參見圖3,示出了根據(jù)本發(fā)明另一個實施例的子資源優(yōu)化模塊的結(jié)構(gòu)圖。子資源優(yōu)化模塊130還包括去冗余子模塊136。去冗余子模塊136,適于在確定緩存子資源后,對該子資源進行去冗余,在緩存模塊120中緩存去冗余后的子資源。舉例而言,可以將CSS子資源和Javascript子資源中空白字符去除掉,也可以將CSS子資源和Javascript子資源中注釋去除掉。由此,能夠在CSS子資源和Javascript子資源無損的情況下,達到對CSS子資源和Javascript子資源進行優(yōu)化,節(jié)省網(wǎng)頁流量,對網(wǎng)頁訪問加速的效果。在一具體實施例中,當網(wǎng)站所返回的響應(yīng)信息中的html頁面內(nèi)部包含的子資源的大小過大時,將該內(nèi)部子資源轉(zhuǎn)換為外部子資源。在本實施例中,代理模塊110將客戶端200進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,將網(wǎng)站返回的響應(yīng)信息轉(zhuǎn)發(fā)給該客戶端200。子資源大小分析子模塊132判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁的內(nèi)部子資源的大小是否大于等于第一預(yù)設(shè)閥值,如果是,則提取該內(nèi)部子資源在緩存模塊120中進行緩存。子資源修改子模塊134將代理模塊110接收的響應(yīng)信息中的已緩存的內(nèi)部子資源內(nèi)容修改為與緩存的該內(nèi)部子資源相對應(yīng)的鏈接。代理模塊110將修改后的響應(yīng)信息發(fā)送給客戶端200,接收客戶端200發(fā)送的子資源請求,根據(jù)該子資源請求中的鏈接在緩存模塊120中查找緩存的內(nèi)部子資源,將查找到的內(nèi)部子資源返回給客戶端200。舉例而言,當客戶端200首次訪問網(wǎng)頁時,代理模塊110將客戶端200進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,將網(wǎng)站返回的響應(yīng)信息轉(zhuǎn)發(fā)給該客戶端200。此外,代理模塊110接收到網(wǎng)站返回的響應(yīng)信息后,子資源大小分析子模塊132判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁內(nèi)部的CSS子資源的大小是否大于等于預(yù)設(shè)閥值CSSOutlineMinBytes,如果是,則提取該CSS子資源在緩存模塊120中進行緩存?;蛘?,代理模塊110接收到網(wǎng)站返回的響應(yīng)信息后,子資源大小分析子模塊132判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁內(nèi)部的JavaScript子資源的大小是否大于等于預(yù)設(shè)閥值JsOutlineMinBytes,如果是,則提取該JavaScript子資源,在緩存模塊120中進行緩存。也可以同時對CSS子資源和JavaScript子資源作上述處理。當客戶端200再次訪問網(wǎng)頁時,代理模塊110將客戶端200進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,接收到網(wǎng)站返回的響應(yīng)信息后,指示子資源修改子模塊134修改響應(yīng)信息。子資源修改子模塊134將響應(yīng)信息中的已緩存的CSS子資源和/或Javascript子資源內(nèi)容修改為與緩存的該CSS子資源和/或Javascript子資源相對應(yīng)的鏈接。代理模塊110將修改后的響應(yīng)信息發(fā)送給客戶端200,接收客戶端200發(fā)送的子資源請求,根據(jù)該子資源請求中的鏈接在緩存模塊120中查找緩存的CSS子資源和/或Javascript子資源,將查找到的CSS子資源和/或Javascript子資源返回給客戶端200。這樣,通過上述實施例,解決了當網(wǎng)頁內(nèi)部包含的子資源的大小過大時,下載網(wǎng)頁主資源時的數(shù)據(jù)傳輸失敗后重傳的概率增加,傳輸代價增加的問題。因此,能夠取得在子資源的應(yīng)用效果沒有損傷的情況下,增加網(wǎng)頁訪問速度,減少服務(wù)器后端的網(wǎng)站壓力的有益效果。在一具體實施例中,當網(wǎng)站所返回的響應(yīng)信息中的html頁面的外部子資源的大小過小時,將該外部子資源轉(zhuǎn)換為內(nèi)部子資源。在本實施例中,代理模塊110將客戶端200進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,將網(wǎng)站返回的響應(yīng)信息轉(zhuǎn)發(fā)給該客戶端200。子資源大小分析子模塊132判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁的外部子資源的大小是否小于等于第二預(yù)設(shè)閥值,如果是,則在緩存模塊120中緩存該外部子資源。子資源修改子模塊134將代理模塊110接收的響應(yīng)信息中與已緩存的外部子資源相對應(yīng)的鏈接修改為已緩存的該外部子資源內(nèi)容。代理模塊110將修改后的響應(yīng)信息發(fā)送給客戶端200。舉例而言,當客戶端200首次訪問網(wǎng)頁時,服務(wù)器100的代理模塊110將客戶端200進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,接收網(wǎng)站返回的響應(yīng)信息,判斷出服務(wù)器100的緩存模塊120中沒有緩存該響應(yīng)信息中的子資源,將網(wǎng)站返回的響應(yīng)信息轉(zhuǎn)發(fā)給該客戶端200??蛻舳?00從響應(yīng)信息中解析出外部子資源的鏈接,將包括該鏈接的子資源請求發(fā)送給服務(wù)器100,服務(wù)器100的代理模塊110將請求轉(zhuǎn)發(fā)給網(wǎng)站,網(wǎng)站返回包含外部子資源內(nèi)容的響應(yīng)信息,代理模塊110將該相應(yīng)信息返回給客戶端200。此外,代理模塊110接收到網(wǎng)站返回的響應(yīng)信息后,子資源優(yōu)化模塊130中的子資源大小分析子模塊132判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁外部的CSS子資源的大小是否小于等于預(yù)設(shè)閥值CSSInlineMaxBytes,如果是,則提取該CSS子資源在緩存模塊120中進行緩存?;蛘?,代理模塊110接收到網(wǎng)站返回的響應(yīng)信息后,子資源大小分析子模塊132判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁外部的JavaScript子資源的大小是否小于等于預(yù)設(shè)閥值JsInlineMaxBytes,如果是,則提取該JavaScript子資源在緩存模塊120中進行緩存。也可以同時對CSS子資源和JavaScript子資源作上述處理。當客戶端200再次訪問網(wǎng)頁時,服務(wù)器100的代理模塊110將客戶端200進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,接收到網(wǎng)站返回的響應(yīng)信息后,子資源優(yōu)化模塊130中的子資源修改子模塊134修改響應(yīng)信息。子資源修改子模塊134將響應(yīng)信息中與已緩存的外部的CSS子資源和/或Javascript子資源相對應(yīng)的鏈接修改為已緩存的該外部的CSS子資源和/或Javascript子資源的內(nèi)容。代理模塊110將修改后的響應(yīng)信息發(fā)送給客戶端200。由此,客戶端200接收到該修改后的響應(yīng)信息后從該響應(yīng)信息中直接獲得CSS子資源和/或Javascript子資源。這樣,通過上述實施例,解決了當網(wǎng)頁的外部子資源的大小過小時,為其建立TCP連接的代價相對其數(shù)據(jù)傳輸而言過大,使得傳輸數(shù)據(jù)的效率低下的問題。因此,能夠取得在子資源的應(yīng)用效果沒有損傷的情況下,增加網(wǎng)頁訪問速度,減少服務(wù)器后端的網(wǎng)站壓力的有益效果。以下以客戶端訪問URL為http://www.a.com的網(wǎng)頁為例,對本發(fā)明的服務(wù)器進行舉例說明。其中,所述客戶端200可以為手機終端中瀏覽器,也可以為PC(個人電腦,PersonalComputer)終端中瀏覽器,或者其他網(wǎng)頁訪問請求方,在此沒有特別限制。當客戶端200請求訪問http://www.a.com時,客戶端200向服務(wù)器100發(fā)送網(wǎng)頁訪問請求。服務(wù)器100的代理模塊110將客戶端200進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站。當客戶端200首次請求訪問http://www.a.com時,網(wǎng)站返回該網(wǎng)頁的響應(yīng)信息到服務(wù)器100。服務(wù)器100的代理模塊110判斷出緩存模塊120中沒有緩存該響應(yīng)信息的子資源后,將該響應(yīng)信息轉(zhuǎn)發(fā)給客戶端200。然后,子資源優(yōu)化模塊130中的子資源大小分析子模塊132開始分析頁面中的<style>標簽和<script>標簽中的文本大小,若大于等于CssOutlineMinBytes或JsOutlineMinBytes的值,則將對應(yīng)的子資源內(nèi)容抽取出來,對抽取的內(nèi)容先指示去冗余子模塊136進行去冗余,然后在服務(wù)器100的緩存模塊120中生成相應(yīng)子資源緩存(比如xxx.b.css和xxx.c.js),并且記錄此網(wǎng)頁URL與相應(yīng)子資源的對應(yīng)關(guān)系。當客戶端200再次請求網(wǎng)頁http://www.a.com時,服務(wù)器100的代理模塊110將客戶端200進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,接收網(wǎng)站返回的響應(yīng)信息。服務(wù)器100的代理模塊110根據(jù)記錄的網(wǎng)頁URL判斷出緩存模塊120中記錄有該響應(yīng)信息中的子資源。服務(wù)器100的子資源優(yōu)化模塊130中的子資源修改子模塊134根據(jù)記錄的此網(wǎng)頁URL與子資源的對應(yīng)關(guān)系,得知對此響應(yīng)信息中的相應(yīng)內(nèi)部子資源被轉(zhuǎn)換成外部的形式,將對應(yīng)的內(nèi)部子資源改寫為外部子資源鏈接的形式,指向之前在服務(wù)器100的緩存模塊120生成的子資源緩存(比如xxx.b.css和xxx.c.js)。代理模塊110將修改后的響應(yīng)信息發(fā)送給客戶端200??蛻舳?00收到改寫后的響應(yīng)信息,向服務(wù)器100發(fā)送子資源請求,以獲得相應(yīng)的子資源。代理模塊110接收客戶端200發(fā)送的子資源請求,根據(jù)該子資源請求中的鏈接在緩存模塊120中查找緩存的內(nèi)部子資源,將查找到的內(nèi)部子資源返回給客戶端200。當客戶端200請求訪問http://www.d.com時,客戶端200向服務(wù)器100發(fā)送網(wǎng)頁訪問請求。服務(wù)器100的代理模塊110將客戶端200進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,將網(wǎng)站返回的響應(yīng)信息轉(zhuǎn)發(fā)給該客戶端200。當客戶端200首次請求訪問http://www.d.com時,網(wǎng)站返回該網(wǎng)頁的響應(yīng)信息到服務(wù)器100。服務(wù)器100的代理模塊110判斷出緩存模塊120中沒有緩存該響應(yīng)信息的子資源后,將該響應(yīng)信息轉(zhuǎn)發(fā)給客戶端200??蛻舳?00接收到響應(yīng)信息后,發(fā)送獲取子資源(比如xxx.e.css和xxx.f.js)的請求。代理模塊110將該請求轉(zhuǎn)發(fā)給網(wǎng)站,接收網(wǎng)站返回的子資源,并將該子資源返回給客戶端200。同時,服務(wù)器100的子資源優(yōu)化模塊130中的子資源大小分析子模塊132開始分析每個外部CSS子資源和Javascript子資源的大小,當發(fā)現(xiàn)某個CSS子資源的大小小于等于CssInlineMaxBytes值或發(fā)現(xiàn)某個Javascript子資源的大小小于等于JsInlineMaxBytes值時,指示去冗余子模塊136將對應(yīng)子資源內(nèi)容去冗余,然后將去冗余后的結(jié)果緩存在服務(wù)器100的緩存模塊120中,并且記錄此網(wǎng)頁URL和子資源的對應(yīng)關(guān)系。當客戶端200再次訪問http://www.d.com時,服務(wù)器100的代理模塊110將客戶端200進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,接收網(wǎng)站返回的響應(yīng)信息。服務(wù)器100的代理模塊110根據(jù)記錄的網(wǎng)頁URL判斷出緩存模塊120中記錄有該響應(yīng)信息中的子資源。服務(wù)器100的子資源優(yōu)化模塊130中的子資源修改子模塊134根據(jù)記錄的此網(wǎng)頁URL與子資源的對應(yīng)關(guān)系,得知對此html頁面中的相應(yīng)某個子資源應(yīng)被轉(zhuǎn)換成內(nèi)部資源的形式,于是從緩存模塊120中取出之前緩存的子資源(比如xxx.e.css和xxx.f.js),然后將響應(yīng)信息中html頁面中對應(yīng)外部子資源的鏈接改寫為從緩存中取出的子資源內(nèi)容,并將改寫后的響應(yīng)信息返回給客戶端200。由此,通過上述技術(shù)方案,解決了當網(wǎng)頁中外部子資源或內(nèi)部子資源的大小不適合時,通過客戶端與網(wǎng)站間的通信傳輸鏈路進行子資源傳輸,導(dǎo)致子資源傳輸速度慢,網(wǎng)頁展現(xiàn)速度慢的問題,取得了提高網(wǎng)頁展現(xiàn)速度,節(jié)省網(wǎng)站的通信帶寬資源的有益效果。參見圖4,示出了本發(fā)明一個實施例的加載訪問網(wǎng)頁的子資源的客戶端的結(jié)構(gòu)圖。客戶端200包括:通信模塊210、解析模塊220和加載模塊230。通信模塊210,適于向服務(wù)器100發(fā)送進行網(wǎng)頁訪問的請求,并接收服務(wù)器100返回的響應(yīng)信息,所述響應(yīng)信息為網(wǎng)頁所屬的網(wǎng)站返回的響應(yīng)信息或服務(wù)器100對其修改后的響應(yīng)信息。解析模塊220,適于對響應(yīng)信息進行解析,根據(jù)解析出的信息獲得網(wǎng)頁中子資源。加載模塊230,適于加載獲得的子資源。參見圖5,示出了根據(jù)本發(fā)明一個實施例的加載訪問網(wǎng)頁的子資源的系統(tǒng)的結(jié)構(gòu)圖。系統(tǒng)包括前述服務(wù)器100和多個前述客戶端200。其中,服務(wù)器100和客戶端200間可以直接連接,也可以通過網(wǎng)絡(luò)連接,在此沒有特別限制。參見圖6,示出了根據(jù)本發(fā)明一個實施例的處理網(wǎng)頁中子資源的方法的流程圖。該方法包括如下步驟。步驟S610,服務(wù)器將客戶端進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給網(wǎng)頁所屬的網(wǎng)站,接收網(wǎng)站返回的響應(yīng)信息。具體而言,由服務(wù)器在客戶端和網(wǎng)站間進行信息的轉(zhuǎn)發(fā)。步驟S620,服務(wù)器判斷該服務(wù)器中是否已緩存網(wǎng)頁的子資源,如果該服務(wù)器中未緩存網(wǎng)頁的子資源,則執(zhí)行步驟S630,如果服務(wù)器中已緩存網(wǎng)頁的子資源,則執(zhí)行步驟S640。步驟S630,服務(wù)器將網(wǎng)站返回的響應(yīng)信息轉(zhuǎn)發(fā)給客戶端,并根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小緩存該子資源。具體而言,在服務(wù)器中沒有緩存網(wǎng)頁的子資源時,客戶端接收到網(wǎng)站返回的響應(yīng)信息后,按常規(guī)方式獲得子資源。即當子資源為內(nèi)部子資源時,網(wǎng)站返回的響應(yīng)信息中包含該內(nèi)部子資源,客戶端解析該響應(yīng)信息,獲得呈現(xiàn)網(wǎng)頁所需的子資源。當子資源為外部子資源時,網(wǎng)站返回的響應(yīng)信息中包含該外部子資源的鏈接,客戶端解析該響應(yīng)信息,獲得鏈接后發(fā)送獲取子資源的請求,服務(wù)器將該請求轉(zhuǎn)發(fā)給網(wǎng)站,網(wǎng)站根據(jù)該請求返回子資源,服務(wù)器將網(wǎng)站返回的子資源轉(zhuǎn)發(fā)給客戶端。步驟S640,服務(wù)器根據(jù)已緩存的子資源對接收的響應(yīng)信息進行修改,使客戶端通過修改后的響應(yīng)信息獲得子資源。在一具體實施例中,步驟S630包括:服務(wù)器在根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小確定緩存所述子資源后,記錄所述網(wǎng)頁的URL與緩存的該子資源的對應(yīng)關(guān)系。步驟S640包括:服務(wù)器根據(jù)記錄的網(wǎng)頁的URL與緩存的該子資源的對應(yīng)關(guān)系,修改接收的響應(yīng)信息。在另一具體實施例中,步驟S630還包括:如果確定緩存所述子資源,則對該子資源進行去冗余,在服務(wù)器中緩存去冗余后的子資源。舉例而言,可以將CSS子資源和Javascript子資源中空白字符去除掉,也可以將CSS子資源和Javascript子資源中注釋去除掉。由此,能夠在CSS子資源和Javascript子資源無損的情況下,達到對CSS子資源和Javascript子資源進行優(yōu)化,節(jié)省網(wǎng)頁流量,對網(wǎng)頁訪問加速的效果。在一具體實施例中,當網(wǎng)站所返回的響應(yīng)信息中的html頁面內(nèi)部包含的子資源的大小過大時,將該內(nèi)部子資源轉(zhuǎn)換為外部子資源。參見圖7示出了根據(jù)本發(fā)明一個實施例的將網(wǎng)頁中內(nèi)部子資源轉(zhuǎn)換為外部子資源的方法的流程圖。該方法包括如下步驟。步驟S710,服務(wù)器將客戶端發(fā)送的訪問網(wǎng)頁的請求轉(zhuǎn)發(fā)給網(wǎng)頁所屬的網(wǎng)站,接收網(wǎng)站返回的響應(yīng)信息。步驟S720,服務(wù)器判斷該服務(wù)器中是否已緩存網(wǎng)頁的子資源,如果該服務(wù)器中未緩存網(wǎng)頁的子資源,則執(zhí)行步驟S730,如果服務(wù)器中已緩存網(wǎng)頁的子資源,則執(zhí)行步驟S770。步驟S730,服務(wù)器將網(wǎng)站返回的響應(yīng)信息轉(zhuǎn)發(fā)給客戶端。步驟S740,服務(wù)器判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁的內(nèi)部子資源的大小是否大于等于第一預(yù)設(shè)閥值,如果是,則執(zhí)行步驟S750,否則,執(zhí)行步驟S760。步驟S750,服務(wù)器提取該內(nèi)部子資源進行緩存。步驟S760,服務(wù)器對響應(yīng)信息內(nèi)部子資源不做緩存。步驟S770,服務(wù)器將響應(yīng)信息中的已緩存的內(nèi)部子資源內(nèi)容修改為與緩存的該內(nèi)部子資源相對應(yīng)的鏈接,將修改后的響應(yīng)信息發(fā)送給客戶端。步驟S780,服務(wù)器接收客戶端發(fā)送的子資源請求,根據(jù)該子資源請求中的鏈接在服務(wù)器中查找緩存的內(nèi)部子資源,將查找到的內(nèi)部子資源返回給客戶端。舉例而言,當客戶端首次訪問網(wǎng)頁時,服務(wù)器將客戶端進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,將網(wǎng)站返回的響應(yīng)信息轉(zhuǎn)發(fā)給該客戶端。此外,服務(wù)器接收到網(wǎng)站返回的響應(yīng)信息后,判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁內(nèi)部的CSS子資源的大小是否大于等于預(yù)設(shè)閥值CSSOutlineMinBytes,如果是,則提取該CSS子資源在服務(wù)器中進行緩存?;蛘?,判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁內(nèi)部的JavaScript子資源的大小是否大于等于預(yù)設(shè)閥值JsOutlineMinBytes,如果是,則提取該JavaScript子資源,在服務(wù)器中進行緩存。也可以同時對CSS子資源和JavaScript子資源作上述處理。當客戶端再次訪問網(wǎng)頁時,服務(wù)器將客戶端進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,接收到網(wǎng)站返回的響應(yīng)信息后,判斷出緩存有該CSS子資源和/或Javascript子資源,則將響應(yīng)信息中的已緩存的CSS子資源和/或Javascript子資源內(nèi)容修改為與緩存的該CSS子資源和/或Javascript子資源相對應(yīng)的鏈接。服務(wù)器將修改后的響應(yīng)信息發(fā)送給客戶端,接收客戶端發(fā)送的子資源請求,根據(jù)該子資源請求中的鏈接在服務(wù)器中查找緩存的CSS子資源和/或Javascript子資源,將查找到的CSS子資源和/或Javascript子資源返回給客戶端。這樣,通過上述實施例,解決了當網(wǎng)頁內(nèi)部包含的子資源的大小過大時,下載網(wǎng)頁主資源時的數(shù)據(jù)傳輸失敗后重傳的概率增加,傳輸代價增加的問題。因此,能夠取得在子資源的應(yīng)用效果沒有損傷的情況下,增加網(wǎng)頁訪問速度,減少服務(wù)器后端的網(wǎng)站壓力的有益效果。在一具體實施例中,當網(wǎng)站所返回的響應(yīng)信息中的html頁面的外部子資源的大小過小時,將該外部子資源轉(zhuǎn)換為內(nèi)部子資源。參見圖8示出了根據(jù)本發(fā)明一個實施例的將網(wǎng)頁中外部子資源轉(zhuǎn)換為內(nèi)部子資源的方法的流程圖。該方法包括如下步驟。步驟S810,服務(wù)器將客戶端發(fā)送的訪問網(wǎng)頁的請求轉(zhuǎn)發(fā)給網(wǎng)頁所屬的網(wǎng)站,接收網(wǎng)站返回的響應(yīng)信息。步驟S820,服務(wù)器判斷該服務(wù)器中是否已緩存網(wǎng)頁的子資源,如果該服務(wù)器中未緩存網(wǎng)頁的子資源,則執(zhí)行步驟S830,如果服務(wù)器中已緩存網(wǎng)頁的子資源,則執(zhí)行步驟S870。步驟S830,服務(wù)器將網(wǎng)站返回的響應(yīng)信息轉(zhuǎn)發(fā)給客戶端。步驟S840,服務(wù)器判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁的外部子資源的大小是否小于等于第二預(yù)設(shè)閥值,如果是,則執(zhí)行步驟S850,否則,執(zhí)行步驟S860。步驟S850,服務(wù)器提取該外部子資源進行緩存。步驟S860,服務(wù)器對響應(yīng)信息中外部子資源不做緩存。步驟S870,服務(wù)器將響應(yīng)信息中與已緩存的外部子資源相對應(yīng)的鏈接修改為已緩存的該外部子資源內(nèi)容,將修改后的響應(yīng)信息發(fā)送給客戶端。舉例而言,當客戶端首次訪問網(wǎng)頁時,服務(wù)器將客戶端進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站。服務(wù)器接收網(wǎng)站返回的響應(yīng)信息,判斷出服務(wù)器中沒有緩存該響應(yīng)信息中的子資源,將網(wǎng)站返回的響應(yīng)信息轉(zhuǎn)發(fā)給該客戶端??蛻舳藦捻憫?yīng)信息中解析出外部子資源的鏈接,將包括該鏈接的子資源請求發(fā)送給服務(wù)器,服務(wù)器將請求轉(zhuǎn)發(fā)給網(wǎng)站,網(wǎng)站返回包含外部子資源內(nèi)容的響應(yīng)信息,服務(wù)器將該相應(yīng)信息返回給客戶端。此外,服務(wù)器接收到網(wǎng)站返回的響應(yīng)信息后,網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁外部的CSS子資源的大小是否小于等于預(yù)設(shè)閥值CSSInlineMaxBytes,如果是,則提取該CSS子資源在服務(wù)器中進行緩存?;蛘?,服務(wù)器接收到網(wǎng)站返回的響應(yīng)信息后,判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁外部的JavaScript子資源的大小是否小于等于預(yù)設(shè)閥值JsInlineMaxBytes,如果是,則提取該JavaScript子資源在服務(wù)器中進行緩存。也可以同時對CSS子資源和JavaScript子資源作上述處理。當客戶端再次訪問網(wǎng)頁時,服務(wù)器將客戶端進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,接收到網(wǎng)站返回的響應(yīng)信息。服務(wù)器將響應(yīng)信息中與已緩存的外部的CSS子資源和/或Javascript子資源相對應(yīng)的鏈接修改為已緩存的該外部的CSS子資源和/或Javascript子資源的內(nèi)容。服務(wù)器將修改后的響應(yīng)信息發(fā)送給客戶端。由此,客戶端接收到該修改后的響應(yīng)信息后,從該響應(yīng)信息中直接獲得CSS子資源和/或Javascript子資源。這樣,通過上述實施例,解決了當網(wǎng)頁的外部子資源的大小過小時,為其建立TCP連接的代價相對其數(shù)據(jù)傳輸而言過大,使得傳輸數(shù)據(jù)的效率低下的問題。因此,能夠取得在子資源的應(yīng)用效果沒有損傷的情況下,增加網(wǎng)頁訪問速度,減少服務(wù)器后端的網(wǎng)站壓力的有益效果。以下以客戶端訪問URL為http://www.a.com的網(wǎng)頁為例,對本發(fā)明的服務(wù)器進行舉例說明。其中,所述客戶端可以為手機終端中瀏覽器,也可以為PC(個人電腦,PersonalComputer)終端中瀏覽器,或者其他網(wǎng)頁訪問請求方,在此沒有特別限制。當客戶端請求訪問http://www.a.com時,客戶端向服務(wù)器發(fā)送網(wǎng)頁訪問請求。服務(wù)器將客戶端進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站。當客戶端向服務(wù)器端首次請求訪問http://www.a.com時,網(wǎng)站返回該網(wǎng)頁的響應(yīng)信息到服務(wù)器。服務(wù)器判斷出該服務(wù)器中沒有緩存該響應(yīng)信息中子資源后,將該響應(yīng)信息轉(zhuǎn)發(fā)給客戶端,然后,服務(wù)器開始分析頁面中的<style>標簽和<script>標簽中的文本大小。若大于等于CssOutlineMinBytes或JsOutlineMinBytes的值,則將對應(yīng)的子資源內(nèi)容抽取出來,對抽取的內(nèi)容先進行去冗余,然后在服務(wù)器中生成相應(yīng)子資源緩存(比如xxx.b.css和xxx.c.js),并且記錄此網(wǎng)頁URL與相應(yīng)子資源的對應(yīng)關(guān)系。當客戶端再次請求網(wǎng)頁http://www.a.com時,服務(wù)器將客戶端進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,接收網(wǎng)站返回的響應(yīng)信息。服務(wù)器根據(jù)記錄的網(wǎng)頁URL判斷出該服務(wù)器中緩存有該響應(yīng)信息中的子資源,根據(jù)記錄的網(wǎng)頁URL與子資源的對應(yīng)關(guān)系,得知對此響應(yīng)信息中的相應(yīng)內(nèi)部子資源被轉(zhuǎn)換成外部的形式。服務(wù)器將對應(yīng)的內(nèi)部子資源改寫為外部子資源鏈接的形式,指向之前在服務(wù)器生成的子資源緩存(比如xxx.b.css和xxx.c.js)。服務(wù)器將修改后的響應(yīng)信息發(fā)送給客戶端??蛻舳耸盏礁膶懞蟮捻憫?yīng)信息后,向服務(wù)器發(fā)送子資源請求,以獲取相應(yīng)的子資源。服務(wù)器接收客戶端發(fā)送的子資源請求,根據(jù)該子資源請求中的鏈接在服務(wù)器中查找緩存的內(nèi)部子資源,將查找到的內(nèi)部子資源返回給客戶端。當客戶端請求訪問http://www.d.com時,客戶端向服務(wù)器發(fā)送網(wǎng)頁訪問請求。服務(wù)器將客戶端進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,將網(wǎng)站返回的響應(yīng)信息轉(zhuǎn)發(fā)給該客戶端。當客戶端向服務(wù)器端首次請求訪問http://www.d.com時,網(wǎng)站返回該網(wǎng)頁的響應(yīng)信息到服務(wù)器。服務(wù)器判斷出該服務(wù)器中沒有緩存該響應(yīng)信息中的子資源,服務(wù)器將響應(yīng)信息轉(zhuǎn)發(fā)給客戶端??蛻舳私邮盏巾憫?yīng)信息后,發(fā)送獲取子資源(比如xxx.e.css和xxx.f.js)的請求。服務(wù)器將該請求轉(zhuǎn)發(fā)給網(wǎng)站,接收網(wǎng)站返回的子資源,并將該子資源返回給客戶端。同時,服務(wù)器開始分析每個外部CSS子資源和Javascript子資源的大小,當發(fā)現(xiàn)某個CSS子資源的大小小于等于CssInlineMaxBytes值或發(fā)現(xiàn)某個Javascript子資源的大小小于等于JsInlineMaxBytes值時,將對應(yīng)子資源內(nèi)容去冗余,然后將去冗余后的結(jié)果緩存在服務(wù)器中,并且記錄此網(wǎng)頁URL和子資源的對應(yīng)關(guān)系。當客戶端再次訪問http://www.d.com時,服務(wù)器將客戶端進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給該網(wǎng)頁所屬的網(wǎng)站,接收網(wǎng)站返回的響應(yīng)信息。服務(wù)器根據(jù)記錄的網(wǎng)頁URL判斷出該服務(wù)器中緩存有該響應(yīng)信息中的子資源,根據(jù)記錄的此網(wǎng)頁URL與子資源的對應(yīng)關(guān)系,得知對此html頁面中的相應(yīng)某個子資源應(yīng)被轉(zhuǎn)換成內(nèi)部資源的形式,于是取出之前緩存的子資源(比如xxx.e.css和xxx.f.js),將響應(yīng)信息中html頁面中對應(yīng)外部子資源的鏈接改寫為從緩存中取出的子資源內(nèi)容,并將改寫后的響應(yīng)信息返回給客戶端。由此,通過上述技術(shù)方案,解決了當網(wǎng)頁中外部子資源或內(nèi)部子資源的大小不適合時,通過客戶端與網(wǎng)站間的通信傳輸鏈路進行子資源傳輸,導(dǎo)致子資源傳輸速度慢,網(wǎng)頁展現(xiàn)速度慢的問題,取得了提高網(wǎng)頁展現(xiàn)速度,節(jié)省網(wǎng)站的通信帶寬資源的有益效果。參見圖9,示出了根據(jù)本發(fā)明一個實施例的在客戶端加載訪問網(wǎng)頁的子資源的方法的流程圖。所述方法包括如下步驟。步驟S910,客戶端向服務(wù)器發(fā)送進行網(wǎng)頁訪問的請求,并接收服務(wù)器返回的響應(yīng)信息。所述響應(yīng)信息為所述網(wǎng)頁所屬的網(wǎng)站返回的響應(yīng)信息或所述服務(wù)器對其修改后的響應(yīng)信息。步驟S920,客戶端對響應(yīng)信息進行解析,根據(jù)解析出的信息獲得網(wǎng)頁中子資源,并加載該子資源。在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。類似地,應(yīng)當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權(quán)利要求書由此明確地并入該具體實施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的處理網(wǎng)頁中子資源的服務(wù)器、客戶端和系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。本發(fā)明實施例公開了A1、一種處理網(wǎng)頁中子資源的方法,所述方法包括:服務(wù)器將客戶端進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給所述網(wǎng)頁所屬的網(wǎng)站,接收所述網(wǎng)站返回的響應(yīng)信息,判斷所述服務(wù)器中是否已緩存所述網(wǎng)頁的子資源;如果所述服務(wù)器中未緩存所述網(wǎng)頁的子資源,則服務(wù)器將所述網(wǎng)站返回的響應(yīng)信息轉(zhuǎn)發(fā)給所述客戶端,并根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小緩存所述子資源;如果所述服務(wù)器中已緩存所述網(wǎng)頁的子資源,則服務(wù)器根據(jù)已緩存的子資源對接收的響應(yīng)信息進行修改,使客戶端通過修改后的響應(yīng)信息獲得子資源。A2、根據(jù)A1所述的方法,其中,所述根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小緩存所述子資源包括:所述服務(wù)器根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小判斷是否緩存所述子資源;如果確定緩存所述子資源,則對所述子資源進行去冗余,在所述服務(wù)器中緩存去冗余后的子資源。A3、根據(jù)A1或A2所述的方法,其中,所述根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小緩存所述子資源包括:所述服務(wù)器判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁的內(nèi)部子資源的大小是否大于等于第一預(yù)設(shè)閥值,如果是,則提取該內(nèi)部子資源進行緩存。A4、根據(jù)A3所述的方法,其中,所述根據(jù)已緩存的子資源對接收的響應(yīng)信息進行修改,使客戶端通過修改后的響應(yīng)信息獲得子資源包括:所述服務(wù)器將響應(yīng)信息中的已緩存的內(nèi)部子資源內(nèi)容修改為與緩存的該內(nèi)部子資源相對應(yīng)的鏈接,將修改后的響應(yīng)信息發(fā)送給客戶端;所述服務(wù)器接收客戶端發(fā)送的子資源請求,根據(jù)該子資源請求中的鏈接在所述服務(wù)器中查找緩存的內(nèi)部子資源,將查找到的內(nèi)部子資源返回給所述客戶端。A5、根據(jù)A1或A2所述的方法,其中,所述根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小緩存所述子資源包括:所述服務(wù)器判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁的外部子資源的大小是否小于等于第二預(yù)設(shè)閥值,如果是,則緩存該外部子資源。A6、根據(jù)A5所述的方法,其中,所述根據(jù)已緩存的子資源對接收的響應(yīng)信息進行修改,使客戶端通過修改后的響應(yīng)信息獲得子資源包括:所述服務(wù)器將響應(yīng)信息中與已緩存的外部子資源相對應(yīng)的鏈接修改為已緩存的該外部子資源內(nèi)容,將修改后的響應(yīng)信息發(fā)送給客戶端。A7、根據(jù)A1所述的方法,其中,所述根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小緩存所述子資源包括:所述服務(wù)器在根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小確定緩存所述子資源后,記錄所述網(wǎng)頁的URL與緩存的該子資源的對應(yīng)關(guān)系。A8、根據(jù)A7所述的方法,其中,所述根據(jù)已緩存的子資源對接收的響應(yīng)信息進行修改包括:所述服務(wù)器根據(jù)記錄的網(wǎng)頁的URL與緩存的該子資源的對應(yīng)關(guān)系,修改接收的響應(yīng)信息。A9、根據(jù)A1-A8任一項所述的方法,其中,所述子資源包括風格樣式表CSS子資源和/或腳本文件子資源。本發(fā)明的實施例還公開了B10、一種在客戶端加載訪問網(wǎng)頁的子資源的方法,所述方法包括:客戶端向服務(wù)器發(fā)送進行網(wǎng)頁訪問的請求,并接收服務(wù)器返回的響應(yīng)信息,所述響應(yīng)信息為所述網(wǎng)頁所屬的網(wǎng)站返回的響應(yīng)信息或所述服務(wù)器對其修改后的響應(yīng)信息;客戶端對響應(yīng)信息進行解析,根據(jù)解析出的信息獲得網(wǎng)頁中子資源,并加載該子資源。本發(fā)明的實施例還公開了C11、一種處理網(wǎng)頁中子資源的服務(wù)器,所述服務(wù)器包括:代理模塊、緩存模塊和子資源優(yōu)化模塊,所述代理模塊,適于將客戶端進行網(wǎng)頁訪問所發(fā)送的請求轉(zhuǎn)發(fā)給所述網(wǎng)頁所屬的網(wǎng)站,接收所述網(wǎng)站返回的響應(yīng)信息,判斷所述緩存模塊中是否已緩存所述網(wǎng)頁的子資源;所述代理模塊,還適于在判斷結(jié)果為所述緩存模塊中未緩存所述網(wǎng)頁的子資源時,將接收的響應(yīng)信息轉(zhuǎn)發(fā)給所述客戶端;所述子資源優(yōu)化模塊包括:子資源大小分析子模塊和子資源修改子模塊,所述子資源大小分析子模塊,適于在判斷結(jié)果為所述緩存模塊中未緩存所述網(wǎng)頁的子資源時,根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小在所述緩存模塊中緩存所述子資源;所述子資源修改子模塊,適于在判斷結(jié)果為所述緩存模塊中已緩存所述網(wǎng)頁的子資源時,根據(jù)已緩存的子資源對接收的響應(yīng)信息進行修改,使客戶端通過修改后的響應(yīng)信息獲得子資源;所述代理模塊,還適于在判斷結(jié)果為所述緩存模塊中已緩存所述網(wǎng)頁的子資源時,將所述子資源修改子模塊修改后的響應(yīng)信息發(fā)送給所述客戶端;所述緩存模塊,適于緩存網(wǎng)頁所包含的子資源。C12、根據(jù)C11所述的服務(wù)器,其中,所述子資源優(yōu)化模塊還包括去冗余子模塊,所述去冗余子模塊,適于在確定緩存所述子資源后,對所述子資源進行去冗余,在所述緩存模塊中緩存去冗余后的子資源。C13、根據(jù)C11或C12所述的服務(wù)器,其中,所述子資源大小分析子模塊,適于判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁的內(nèi)部子資源的大小是否大于等于第一預(yù)設(shè)閥值,如果是,則提取該內(nèi)部子資源在所述緩存模塊中進行緩存。C14、根據(jù)C13所述的服務(wù)器,其中,所述子資源修改子模塊,適于將響應(yīng)信息中的已緩存的內(nèi)部子資源內(nèi)容修改為與緩存的該內(nèi)部子資源相對應(yīng)的鏈接;所述代理模塊,適于將修改后的響應(yīng)信息發(fā)送給客戶端,接收客戶端發(fā)送的子資源請求,根據(jù)該子資源請求中的鏈接在所述緩存模塊中查找緩存的內(nèi)部子資源,將查找到的內(nèi)部子資源返回給所述客戶端。C15、根據(jù)C11或C12所述的服務(wù)器,其中,所述子資源大小分析子模塊,適于判斷網(wǎng)站返回的響應(yīng)信息中包含的網(wǎng)頁的外部子資源的大小是否小于等于第二預(yù)設(shè)閥值,如果是,則在所述緩存模塊中緩存該外部子資源。C16、根據(jù)C15所述的服務(wù)器,其中,所述子資源修改子模塊,適于將響應(yīng)信息中與已緩存的外部子資源相對應(yīng)的鏈接修改為已緩存的該外部子資源內(nèi)容;所述代理模塊,適于將修改后的響應(yīng)信息發(fā)送給客戶端。C17、根據(jù)C11所述的服務(wù)器,其中,所述子資源大小分析子模塊,適于在根據(jù)響應(yīng)信息中網(wǎng)頁的子資源的大小確定緩存所述子資源后,記錄所述網(wǎng)頁的URL與緩存的該子資源的對應(yīng)關(guān)系。C18、根據(jù)C17所述的服務(wù)器,其中,所述子資源修改子模塊,適于根據(jù)記錄的網(wǎng)頁的URL與緩存的該子資源的對應(yīng)關(guān)系,修改接收的響應(yīng)信息。C19、根據(jù)C11-C18任一項所述的服務(wù)器,其中,所述子資源包括風格樣式表CSS子資源和/或腳本文件子資源。本發(fā)明的實施例還公開了D20、一種加載訪問網(wǎng)頁的子資源的客戶端,所述客戶端包括:通信模塊,適于向服務(wù)器發(fā)送進行網(wǎng)頁訪問的請求,并接收服務(wù)器返回的響應(yīng)信息,所述響應(yīng)信息為所述網(wǎng)頁所屬的網(wǎng)站返回的響應(yīng)信息或所述服務(wù)器對其修改后的響應(yīng)信息;解析模塊,適于對響應(yīng)信息進行解析,根據(jù)解析出的信息獲得網(wǎng)頁中子資源;加載模塊,適于加載獲得的子資源。本發(fā)明的實施例還公開了E21、一種加載訪問網(wǎng)頁的子資源的系統(tǒng),所述系統(tǒng)包括:如C11至C19任一項所述的服務(wù)器,以及如D20所述的客戶端。