国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      通過cdn下載資源的實現(xiàn)方法和裝置、服務(wù)器、客戶端的制作方法

      文檔序號:7823661閱讀:301來源:國知局
      通過cdn下載資源的實現(xiàn)方法和裝置、服務(wù)器、客戶端的制作方法
      【專利摘要】本發(fā)明提供了一種通過CDN下載資源的實現(xiàn)方法和裝置、服務(wù)器、客戶端,該方法包括:攔截源服務(wù)器向客戶端發(fā)送的原始網(wǎng)頁數(shù)據(jù);原始網(wǎng)頁數(shù)據(jù)包括有源服務(wù)器的地址信息和靜態(tài)資源在源服務(wù)器的地址信息;將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在源服務(wù)器的地址信息調(diào)整為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址,之后發(fā)送到客戶端,以使客戶端從對應(yīng)的CDN服務(wù)器中下載相應(yīng)的靜態(tài)資源。這樣客戶端會跳轉(zhuǎn)到相應(yīng)的CDN服務(wù)器請求靜態(tài)資源,如果相應(yīng)的靜態(tài)資源沒有緩存到CDN服務(wù)器,能夠觸發(fā)CDN服務(wù)器根據(jù)鏈接地址所指示的源服務(wù)器的地址以及靜態(tài)資源的在源服務(wù)器中的地址主動向源服務(wù)器請求相應(yīng)的靜態(tài)資源。這樣就實現(xiàn)了CDN服務(wù)器向源服務(wù)器的主動同步。
      【專利說明】通過CDN下載資源的實現(xiàn)方法和裝置、服務(wù)器、客戶端

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種通過⑶N下載資源的實現(xiàn)方法和裝置、服務(wù)器、客戶端。

      【背景技術(shù)】
      [0002]Q)N(Content Distribut1n Network,內(nèi)容分發(fā)網(wǎng)絡(luò))是一種新型網(wǎng)絡(luò)內(nèi)容服務(wù)體系,其基于互聯(lián)網(wǎng)絡(luò)而構(gòu)建,基于內(nèi)容訪問與應(yīng)用的效率要求、質(zhì)量要求和內(nèi)容秩序而提供內(nèi)容的分發(fā)和服務(wù)。CDN可以盡可能避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使內(nèi)容傳輸?shù)母?、更穩(wěn)定。具體而言,CDN能夠?qū)崟r地根據(jù)網(wǎng)絡(luò)流量和各節(jié)點的連接、負(fù)載狀況以及到用戶的距離和響應(yīng)時間等綜合信息,將用戶導(dǎo)向至最近的節(jié)點服務(wù)器上,使用戶可就近取得所需數(shù)據(jù)(主要是靜態(tài)資源),解決網(wǎng)絡(luò)擁擠的狀況,提高用戶下載數(shù)據(jù)的速度。
      [0003]為了使用戶能夠正確接收到源服務(wù)器的數(shù)據(jù)內(nèi)容,需要將源服務(wù)器中的數(shù)據(jù)及時同步到CDN服務(wù)器。現(xiàn)有技術(shù)中,在每次在源服務(wù)器進行更新時,通過人工的方式將更新的數(shù)據(jù)內(nèi)容同步到CDN服務(wù)器,工作量大,且容易出錯。


      【發(fā)明內(nèi)容】

      [0004]本發(fā)明的目的在于提供一種能夠?qū)崿F(xiàn)數(shù)據(jù)自動同步的通過CDN下載資源的實現(xiàn)方法和裝置、服務(wù)器、客戶端。
      [0005]第一方面,本發(fā)明提供了一種通過⑶N下載資源的實現(xiàn)裝置,包括:
      [0006]攔截模塊,用于攔截源服務(wù)器向客戶端發(fā)送的原始網(wǎng)頁數(shù)據(jù);所述原始網(wǎng)頁數(shù)據(jù)包括有所述源服務(wù)器的地址信息和靜態(tài)資源在所述源服務(wù)器的地址信息;
      [0007]修改模塊,用于將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息調(diào)整為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址,得到修改后的網(wǎng)頁數(shù)據(jù);其中,所述鏈接地址中攜帶有所述源服務(wù)器的地址信息以及靜態(tài)資源在所述源服務(wù)器的地址信息;
      [0008]發(fā)送模塊,用于將修改后的網(wǎng)頁數(shù)據(jù)發(fā)送到客戶端,以使所述客戶端從對應(yīng)的CDN服務(wù)器中下載相應(yīng)的靜態(tài)資源。
      [0009]可選的,所述修改模塊用于將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息修改為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址以及調(diào)整網(wǎng)頁數(shù)據(jù)中的內(nèi)容長度,得到修改后的網(wǎng)頁數(shù)據(jù)。
      [0010]可選的,所述鏈接地址還攜帶有靜態(tài)資源的引用地址信息,所述靜態(tài)資源的引用地址信息是從所述網(wǎng)頁數(shù)據(jù)中獲取的。
      [0011]第二方面,本發(fā)明提供了一種客戶端,包括:
      [0012]第一接收模塊,用于接收網(wǎng)頁數(shù)據(jù);所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向⑶N服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息;
      [0013]下載請求模塊,用于根據(jù)靜態(tài)資源的地址向?qū)?yīng)CDN請求下載相應(yīng)的靜態(tài)資源;
      [0014]第二接收模塊,用于接收⑶N服務(wù)器返回的靜態(tài)資源。
      [0015]可選的,⑶N服務(wù)器返回的靜態(tài)資源為所述⑶N服務(wù)器根據(jù)所述鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息,以及靜態(tài)資源在源服務(wù)器中的地址信息向源服務(wù)器下載的。
      [0016]可選的,所述鏈接地址還攜帶有靜態(tài)資源的引用地址信息。
      [0017]第三方面,本發(fā)明提供了一種服務(wù)器,所述服務(wù)器包括:
      [0018]接收模塊,用于接收客戶端根據(jù)網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址發(fā)起的靜態(tài)資源下載請求;所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向CDN服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息;
      [0019]判斷模塊,用于判斷所述第一接收模塊接收到的靜態(tài)資源下載請求所請求下載的靜態(tài)資源是否已緩存;
      [0020]發(fā)送模塊,用于在所述判斷模塊判斷相應(yīng)的靜態(tài)資源已緩存時,將緩存的相應(yīng)的靜態(tài)資源發(fā)送至所述客戶端;在所述判斷模塊判斷相應(yīng)的靜態(tài)資源未緩存時,根據(jù)相應(yīng)的靜態(tài)資源對應(yīng)的鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息向相應(yīng)的源服務(wù)器請求相應(yīng)的靜態(tài)資源,在接收到相應(yīng)的靜態(tài)資源后緩存并發(fā)送到所述客戶端。
      [0021]可選的,所述鏈接地址還攜帶有靜態(tài)資源的引用地址信息;
      [0022]所述服務(wù)器還包括:
      [0023]尋址模塊,用于在所述判斷模塊判斷相應(yīng)的靜態(tài)資源未緩存后,所述發(fā)送模塊根據(jù)相應(yīng)的靜態(tài)資源的原始地址向相應(yīng)的源服務(wù)器地址請求相應(yīng)的靜態(tài)資源之前,從對應(yīng)的鏈接地址中提取相應(yīng)的源服務(wù)器的地址,在提取相應(yīng)的源服務(wù)器的地址失敗時,根據(jù)對應(yīng)的鏈接地址中的引用地址Referer確定相應(yīng)的源服務(wù)器的地址。
      [0024]第五方面,本發(fā)明提供了一種通過⑶N下載資源的實現(xiàn)方法,其中,包括:
      [0025]攔截源服務(wù)器向客戶端發(fā)送的原始網(wǎng)頁數(shù)據(jù);所述原始網(wǎng)頁數(shù)據(jù)包括有所述源服務(wù)器的地址信息和靜態(tài)資源在所述源服務(wù)器的地址信息;
      [0026]將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息調(diào)整為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址,得到修改后的網(wǎng)頁數(shù)據(jù);其中,所述鏈接地址中攜帶有所述源服務(wù)器的地址信息以及靜態(tài)資源在所述源服務(wù)器的地址信息;
      [0027]將修改后的網(wǎng)頁數(shù)據(jù)發(fā)送到客戶端,以使所述客戶端從對應(yīng)的CDN服務(wù)器中下載相應(yīng)的靜態(tài)資源。
      [0028]優(yōu)選的,所述將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息修改為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址,得到修改后的網(wǎng)頁數(shù)據(jù)包括:
      [0029]將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息修改為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址以及調(diào)整網(wǎng)頁數(shù)據(jù)中的內(nèi)容長度,得到修改后的網(wǎng)頁數(shù)據(jù)。
      [0030]優(yōu)選的,所述鏈接地址還攜帶有靜態(tài)資源的引用地址信息,所述靜態(tài)資源的引用地址信息是從所述網(wǎng)頁數(shù)據(jù)中獲取的。
      [0031]第五方面,本發(fā)明提供了一種通過⑶N下載資源的實現(xiàn)方法,包括:
      [0032]接收網(wǎng)頁數(shù)據(jù);所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向⑶N服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息;
      [0033]根據(jù)靜態(tài)資源的地址向?qū)?yīng)CDN服務(wù)器請求下載相應(yīng)的靜態(tài)資源;
      [0034]接收⑶N服務(wù)器返回的靜態(tài)資源。
      [0035]可選的,⑶N服務(wù)器返回的靜態(tài)資源為所述⑶N服務(wù)器根據(jù)所述鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息向源服務(wù)器下載的。
      [0036]可選的,所述鏈接地址還攜帶有靜態(tài)資源的引用地址信息。
      [0037]第六方面,本發(fā)明提供了一種通過⑶N下載資源的實現(xiàn)方法,包括:
      [0038]接收客戶端根據(jù)網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址發(fā)起的靜態(tài)資源下載請求;所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向CDN服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息;
      [0039]判斷所請求下載的靜態(tài)資源是否已緩存;
      [0040]如果已緩存,將緩存的相應(yīng)的靜態(tài)資源發(fā)送至所述客戶端;
      [0041]如果未緩存,根據(jù)相應(yīng)的靜態(tài)資源對應(yīng)的鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息向相應(yīng)的源服務(wù)器請求相應(yīng)的靜態(tài)資源,在接收到相應(yīng)的源服務(wù)器返回的相應(yīng)的靜態(tài)資源后緩存并發(fā)送到所述客戶端。
      [0042]可選的,所述鏈接地址還攜帶有靜態(tài)資源的引用地址信息;
      [0043]在所請求下載的靜態(tài)資源未緩存,根據(jù)相應(yīng)的靜態(tài)資源對應(yīng)的鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息向相應(yīng)的源服務(wù)器請求相應(yīng)的靜態(tài)資源之前,所述方法還包括:從對應(yīng)的鏈接地址中提取相應(yīng)的源服務(wù)器的地址信息,在提取相應(yīng)的源服務(wù)器的地址信息失敗時,根據(jù)對應(yīng)的鏈接地址中的引用地址信息確定相應(yīng)的源服務(wù)器的地址。
      [0044]本發(fā)明中,攔截源服務(wù)器向客戶端發(fā)送的原始網(wǎng)頁數(shù)據(jù);所述原始網(wǎng)頁數(shù)據(jù)包括有所述源服務(wù)器的地址信息和靜態(tài)資源在所述源服務(wù)器的地址信息;將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息調(diào)整為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址,得到修改后的網(wǎng)頁數(shù)據(jù);其中,所述鏈接地址中攜帶有所述源服務(wù)器的地址信息以及靜態(tài)資源在所述源服務(wù)器的地址信息;將修改后的網(wǎng)頁數(shù)據(jù)發(fā)送到客戶端,以使所述客戶端從對應(yīng)的CDN服務(wù)器中下載相應(yīng)的靜態(tài)資源。這樣客戶端會跳轉(zhuǎn)到相應(yīng)的CDN服務(wù)器請求靜態(tài)資源,如果相應(yīng)的靜態(tài)資源沒有緩存到CDN服務(wù)器,能夠觸發(fā)CDN服務(wù)器根據(jù)鏈接地址所指示的源服務(wù)器的地址以及靜態(tài)資源的在源服務(wù)器中的地址主動向源服務(wù)器請求相應(yīng)的靜態(tài)資源。這樣就實現(xiàn)了⑶N服務(wù)器向源服務(wù)器的主動同步。

      【專利附圖】

      【附圖說明】
      [0045]圖1為本發(fā)明一實施例提供的一種通過CDN下載資源的實現(xiàn)方法的流程示意圖;
      [0046]圖2為本發(fā)明一實施例提供的一種通過CDN下載資源的實現(xiàn)方法的流程示意圖;
      [0047]圖3為本發(fā)明一實施例提供的一種通過CDN下載資源的實現(xiàn)方法的流程示意圖;
      [0048]圖4為本發(fā)明提供的一種通過CDN下載資源的實現(xiàn)方法的應(yīng)用場景的示意圖;
      [0049]圖5為本發(fā)明一實施例提供的一種通過CDN下載資源的實現(xiàn)方法的流程示意圖;
      [0050]圖6為一次可能的響應(yīng)過程中源服務(wù)器發(fā)送至客戶端的部分網(wǎng)頁數(shù)據(jù);
      [0051]圖7為對圖6中所示的部分網(wǎng)頁數(shù)據(jù)修改后得到的網(wǎng)頁數(shù)據(jù);
      [0052]圖8為本發(fā)明一實施例提供的一種通過CDN下載資源的實現(xiàn)裝置的結(jié)構(gòu)示意圖;
      [0053]圖9為本發(fā)明一實施例提供的一種客戶端的結(jié)構(gòu)流程示意圖;
      [0054]圖10為本發(fā)明一實施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖。

      【具體實施方式】
      [0055]下面結(jié)合附圖和實施例,對本發(fā)明的【具體實施方式】作進一步詳細(xì)描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
      [0056]如圖1所示,為本發(fā)明一個實施例提供的一種通過CDN下載資源的實現(xiàn)方法的流程示意圖,該方法可以由位于源服務(wù)器側(cè)的功能模塊或者包含該功能模塊的裝置執(zhí)行,該方法可以包括:
      [0057]步驟101,攔截源服務(wù)器向客戶端發(fā)送的原始網(wǎng)頁數(shù)據(jù);該原始網(wǎng)頁數(shù)據(jù)包括有該源服務(wù)器的地址信息和靜態(tài)資源在該源服務(wù)器的地址信息。
      [0058]步驟102,將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在該源服務(wù)器的地址信息調(diào)整為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址,得到修改后的網(wǎng)頁數(shù)據(jù);其中,所述鏈接地址中攜帶有所述源服務(wù)器的地址信息以及靜態(tài)資源在所述源服務(wù)器的地址信息;
      [0059]步驟103,將修改后的網(wǎng)頁數(shù)據(jù)發(fā)送到客戶端,以使客戶端從對應(yīng)的⑶N服務(wù)器中下載相應(yīng)的靜態(tài)資源。
      [0060]本發(fā)明實施例中,客戶端在接收到相應(yīng)的網(wǎng)頁數(shù)據(jù)后會跳轉(zhuǎn)到相應(yīng)的CDN服務(wù)器請求靜態(tài)資源,如果相應(yīng)的靜態(tài)資源沒有緩存到⑶N服務(wù)器,能夠觸發(fā)⑶N服務(wù)器根據(jù)鏈接地址所指示的源服務(wù)器的地址以及靜態(tài)資源在源服務(wù)器中的地址主動向源服務(wù)器請求相應(yīng)的靜態(tài)資源。這樣就實現(xiàn)了 CDN服務(wù)器向源服務(wù)器的主動同步。
      [0061]上述的各個步驟均可以通過多種方式實現(xiàn),比如對于步驟101,可以根據(jù)網(wǎng)頁數(shù)據(jù)的格式對源服務(wù)器發(fā)送到客戶端的數(shù)據(jù)進行識別,在識別到網(wǎng)頁數(shù)據(jù)后攔截;或者也可以在源服務(wù)器中注冊需要攔截的數(shù)據(jù),使源服務(wù)器在發(fā)送網(wǎng)頁數(shù)據(jù)時在網(wǎng)頁數(shù)據(jù)中添加相應(yīng)的攔截標(biāo)識,并在監(jiān)控到帶有攔截標(biāo)識的數(shù)據(jù)后進行攔截,或者通過其他現(xiàn)有的方式實現(xiàn)對原始網(wǎng)頁數(shù)據(jù)的攔截,在此不再一一列舉。
      [0062]不難理解,本發(fā)明實施例中所指的原始網(wǎng)頁數(shù)據(jù)實際是指源服務(wù)器發(fā)送給客戶端的網(wǎng)頁數(shù)據(jù),這里的“原始”二字是為了與修改后的網(wǎng)頁數(shù)據(jù)進行區(qū)分。這里的原始網(wǎng)頁數(shù)據(jù)可以為客戶端根據(jù)用戶輸入的域名向源服務(wù)器請求的網(wǎng)頁對應(yīng)的網(wǎng)頁數(shù)據(jù),也可以為源服務(wù)器主動向客戶端推送的網(wǎng)頁數(shù)據(jù)。
      [0063]在具體實施時,源服務(wù)器的地址信息可能為源服務(wù)器的域名信息,或者IP信息,靜態(tài)資源在源服務(wù)器中的地址信息可能為該靜態(tài)資源在源服務(wù)器中的路徑信息或者標(biāo)簽信息。當(dāng)然源服務(wù)器的地址信息和/或靜態(tài)資源在源服務(wù)器中的地址信息也可以表現(xiàn)為其他形式,其具體格式不會影響本發(fā)明的實施,相應(yīng)的技術(shù)方案也應(yīng)該落入本發(fā)明的保護范圍。
      [0064]本發(fā)明實施例中所指的靜態(tài)資源可以具體為js,css格式的圖片。
      [0065]對于步驟102,在具體實施時,可以在靜態(tài)資源在源服務(wù)器的地址信息之前直接添加對應(yīng)的CDN服務(wù)器的域名,之后將靜態(tài)資源在源服務(wù)器的地址信息添加到靜態(tài)資源在源服務(wù)器的地址信息之后形成攜帶有源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息且指向⑶N服務(wù)器的鏈接地址。這樣在將修改后的網(wǎng)頁數(shù)據(jù)發(fā)送到客戶端之后,客戶端根據(jù)靜態(tài)資源的地址請求下載靜態(tài)資源時,其下載請求會跳轉(zhuǎn)到對應(yīng)的⑶N服務(wù)器上。不難理解的是,本發(fā)明實施例中所指的對應(yīng)的CDN服務(wù)器是相對于目的客戶端而言,一般來說,是指客戶端落入其覆蓋范圍的CDN服務(wù)器,這樣可以實現(xiàn)就近下載。
      [0066]在具體應(yīng)用時,上述步驟102中除了包含將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在源服務(wù)器的地址信息修改為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址之外,還可以包括調(diào)整網(wǎng)頁數(shù)據(jù)的報文頭中的內(nèi)容長度(Content length)的過程。這樣,客戶端在接收到相應(yīng)的網(wǎng)頁數(shù)據(jù)后,可以根據(jù)該內(nèi)容長度驗證發(fā)送的網(wǎng)頁數(shù)據(jù)是否存在錯誤。
      [0067]在具體應(yīng)用時,原始網(wǎng)頁數(shù)據(jù)中還可能包含靜態(tài)資源的引用地址(Referer)信息,此時在步驟102中,還可以將靜態(tài)資源的引用地址信息攜帶在修改后的網(wǎng)頁數(shù)據(jù)中的鏈接地址中。這樣做的好處是,當(dāng)客戶端請求該鏈接地址時,相應(yīng)的CDN服務(wù)器可以獲取根據(jù)該鏈接地址確定相應(yīng)的靜態(tài)資源的引用地址信息,這樣相應(yīng)的CDN服務(wù)器如果不能正確獲取鏈接地址中源服務(wù)器的地址信息,可以通過該引用地址信息確定源服務(wù)器的地址信息。在具體應(yīng)用時,該引用地址信息可以位于整個鏈接地址的末端。
      [0068]在具體應(yīng)用時,步驟102中,將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在源服務(wù)器的地址信息調(diào)整為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址可以是指將原始網(wǎng)頁數(shù)據(jù)中所有靜態(tài)資源在源服務(wù)器的地址信息修改為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址,也可以僅是指將部分靜態(tài)資源在源服務(wù)器中的地址信息修改為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址。對于地址未被修改的靜態(tài)資源,客戶端在接收到該網(wǎng)頁數(shù)據(jù)后,會直接向源服務(wù)器請求下載這部分靜態(tài)資源。
      [0069]另一方面,本發(fā)明的一個實施例還提供了另一種通過⑶N下載資源的實現(xiàn)方法,該方法可以由客戶端執(zhí)行,如圖2所示,為該方法的流程示意圖,包括:
      [0070]步驟201,接收網(wǎng)頁數(shù)據(jù);所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向⑶N服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息;
      [0071]步驟202,根據(jù)靜態(tài)資源的地址向?qū)?yīng)⑶N服務(wù)器請求下載相應(yīng)的靜態(tài)資源;
      [0072]步驟203,接收⑶N服務(wù)器返回的靜態(tài)資源。
      [0073]本發(fā)明實施例提供的方法中,當(dāng)客戶端根據(jù)靜態(tài)資源的地址向?qū)?yīng)的CDN服務(wù)器請求下載相應(yīng)的靜態(tài)資源時,即請求訪問該指向CDN服務(wù)器的鏈接地址時,其訪問請求會被跳轉(zhuǎn)到CDN服務(wù)器上,CDN服務(wù)器能夠根據(jù)鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息從服務(wù)器中下載相應(yīng)的靜態(tài)資源并緩存到⑶N服務(wù)器,這樣一方面,可以通過⑶N服務(wù)器實現(xiàn)就近下載,另一方面能夠使⑶N服務(wù)器根據(jù)源服務(wù)器的地址信息和靜態(tài)資源在源服務(wù)器中的地址信息主動向源服務(wù)器請求未緩存的靜態(tài)資源,能夠使CDN服務(wù)器自動實現(xiàn)與源服務(wù)器的同步。
      [0074]這里所接收的網(wǎng)頁數(shù)據(jù)可以為經(jīng)過圖1中的步驟102得到的網(wǎng)頁數(shù)據(jù)。相應(yīng)的,這里的網(wǎng)頁數(shù)據(jù)中的鏈接地址也可以攜帶有靜態(tài)資源的引用地址信息。步驟201-步驟203中的每一個步驟的實現(xiàn)過程可以與現(xiàn)有技術(shù)中相應(yīng)的過程一致,在此不再贅述。
      [0075]再一方面,本發(fā)明的一個實施例還提供了再一種通過CDN下載的實現(xiàn)方法,該方法可以由CDN服務(wù)器執(zhí)行,如圖3所示,為該方法的流程示意圖,包括:
      [0076]步驟301,接收客戶端根據(jù)網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址發(fā)起的靜態(tài)資源下載請求;該網(wǎng)頁數(shù)據(jù)可以為圖2中的步驟202中客戶端根據(jù)靜態(tài)資源的地址向?qū)?yīng)CDN服務(wù)器請求下載相應(yīng)的靜態(tài)資源時發(fā)情的靜態(tài)資源下載請求,相應(yīng)的,此時網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向⑶N服務(wù)器的鏈接地址,且鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息;
      [0077]步驟302,判斷所請求下載的靜態(tài)資源是否已緩存;若否,轉(zhuǎn)向步驟303,若否,轉(zhuǎn)向步驟305 ;
      [0078]步驟303,根據(jù)相應(yīng)的靜態(tài)資源對應(yīng)的鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息向相應(yīng)的源服務(wù)器請求相應(yīng)的靜態(tài)資源,之后轉(zhuǎn)向步驟304;
      [0079]步驟304,接收相應(yīng)的源服務(wù)器返回的相應(yīng)的靜態(tài)資源后緩存,之后轉(zhuǎn)向步驟305。
      [0080]步驟305,將緩存的相應(yīng)的靜態(tài)資源發(fā)送至客戶端;
      [0081]本發(fā)明實施例中,在接收客戶端根據(jù)網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址發(fā)起的靜態(tài)資源下載請求后,判斷所請求的靜態(tài)資源是否緩存,若是,則將緩存的相應(yīng)的資源發(fā)送至客戶端,如果否,則向相應(yīng)的靜態(tài)資源所在的源服務(wù)器請求相應(yīng)的靜態(tài)資源,在接收到相應(yīng)的靜態(tài)資源后緩存。這樣,對于發(fā)生更新的靜態(tài)資源,CDN服務(wù)器能夠根據(jù)首次針對該靜態(tài)資源的下載請求向源服務(wù)器請求相應(yīng)的靜態(tài)資源,自動實現(xiàn)與源服務(wù)器的同步。對于未發(fā)生更新的靜態(tài)資源,⑶N服務(wù)器由于在之前已經(jīng)根據(jù)上述步驟303和步驟304的流程下載并緩存了相應(yīng)的靜態(tài)資源,能夠直接向客戶端返回相應(yīng)的靜態(tài)資源。這樣就實現(xiàn)了靜態(tài)資源的就近下載。
      [0082]需要指出的是,雖然圖3中示出的是,在步驟304之后,轉(zhuǎn)向步驟305的步驟,但是在實際應(yīng)用中,在首次請求了相應(yīng)的靜態(tài)資源后,也可以首先將靜態(tài)資源發(fā)送至客戶端,之后再緩存,向客戶端發(fā)送靜態(tài)資源與緩存靜態(tài)資源的先后關(guān)系并不影響本發(fā)明的實施。
      [0083]在具體應(yīng)用時,對于從源服務(wù)器接收到的靜態(tài)資源,在進行緩存時,可以將該靜態(tài)資源在源服務(wù)器中的地址信息作為該靜態(tài)資源在本地緩存中的標(biāo)簽信息,或者按照該靜態(tài)資源在源服務(wù)器中的地址信息將靜態(tài)資源緩存到CDN服務(wù)器中相應(yīng)的地址。這樣CDN服務(wù)器在下次接收到針對該靜態(tài)資源的下載請求時,能夠方便的查找出該靜態(tài)資源并發(fā)送至客戶端。當(dāng)然,在實際應(yīng)用中,也可以按照其他的方式存儲靜態(tài)資源,比如將該靜態(tài)資源在源服務(wù)器中的地址按照預(yù)設(shè)的規(guī)則進行轉(zhuǎn)換映射得到在本地的存儲地址,之后緩存到本地,或者在將靜態(tài)資源存儲到本地后,記錄靜態(tài)資源存儲在源服務(wù)器中的地址與存儲在本地的地址的對應(yīng)關(guān)系,CDN服務(wù)器后續(xù)在接收到針對該靜態(tài)資源的下載請求時也能查找到該靜態(tài)資源并發(fā)送至客戶端,本發(fā)明實施例提供的方式不應(yīng)理解為對本發(fā)明的保護范圍的限定。
      [0084]在具體應(yīng)用時,在步驟303中,還應(yīng)該包括獲取相應(yīng)的靜態(tài)資源所在的源服務(wù)器地址信息和獲取靜態(tài)資源在源服務(wù)器中的地址信息的過程,之后根據(jù)源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息向源服務(wù)器發(fā)送請求下載相應(yīng)的靜態(tài)資源,該請求包含靜態(tài)資源在源服務(wù)器中的地址信息,以向源服務(wù)器請求相應(yīng)的靜態(tài)資源。更進一步的,步驟303中,當(dāng)源服務(wù)器的地址信息為源服務(wù)器的域名,靜態(tài)資源在源服務(wù)器中的地址信息為在源服務(wù)器中的路徑時,可以將在源服務(wù)中的路徑放在源服務(wù)器的域名之后,生成一個指向源服務(wù)器的鏈接,并針對該鏈接發(fā)起下載請求,以向源服務(wù)器請求下載相應(yīng)的靜態(tài)資源。
      [0085]下面結(jié)合具體的應(yīng)用場景,對本發(fā)明的完整實施例進行詳細(xì)的說明。如圖4所示,在該應(yīng)用場景中,包括源服務(wù)器、攔截服務(wù)器、客戶端和CDN服務(wù)器,其中,攔截服務(wù)器部署在源服務(wù)器與客戶端之間的路由上靠近源服務(wù)器的一側(cè),通過網(wǎng)絡(luò)分別與源服務(wù)器和客戶端相連,CDN服務(wù)器通過網(wǎng)絡(luò)分別與源服務(wù)器和客戶端相連。其中,這里的攔截服務(wù)器用以執(zhí)行圖1中所述的方法,客戶端用以執(zhí)行圖2中的方法,CDN服務(wù)器用以執(zhí)行圖3中的方法,假設(shè)其綁定的域名為WWW.cdnlXXXl.com ;同時假設(shè)源服務(wù)器綁定的域名為www.1XXX1.com。另外假設(shè)攔截服務(wù)器在客戶端中預(yù)先注冊了需要攔截響應(yīng)的事件,源服務(wù)器在發(fā)送需要攔截響應(yīng)的事件對應(yīng)的網(wǎng)頁數(shù)據(jù)時,在該網(wǎng)頁數(shù)據(jù)的報文頭中添加相應(yīng)的攔截標(biāo)簽。
      [0086]該方法的具體流程可以如圖5所示,包括:
      [0087]步驟501,客戶端接收用戶輸入的域名www.1XXX1.com,向源服務(wù)器發(fā)送訪問請求。之后轉(zhuǎn)向步驟502。
      [0088]步驟502,源服務(wù)器接收客戶端發(fā)送的訪問請求,向客戶端發(fā)送網(wǎng)頁數(shù)據(jù)。之后轉(zhuǎn)向步驟503。
      [0089]假設(shè)源服務(wù)器發(fā)送給客戶端的網(wǎng)頁數(shù)據(jù)中源文件部分中的部分片段如圖6所示,其中包含一個CSS格式的圖片的靜態(tài)資源,該靜態(tài)資源在源服務(wù)器中的路徑link href =^/bootstrap/css/bootstrap, min.css〃,該靜態(tài)資源的引用地址為 rel = "stylesheet",引用地址位于該靜態(tài)文件在源服務(wù)器中的路徑之后。另外,在該網(wǎng)頁數(shù)據(jù)的標(biāo)簽信息中攜帶了源服務(wù)器的域名WWW.1XXX1.com。并假設(shè)該網(wǎng)頁數(shù)據(jù)中的標(biāo)簽信息中攜帶了用于表示該網(wǎng)頁數(shù)據(jù)需要攔截的攔截標(biāo)識。
      [0090]步驟503,攔截服務(wù)器攔截該網(wǎng)頁數(shù)據(jù),將其中的靜態(tài)資源所對應(yīng)的路徑linkhref = "/bootstrap/css/bootstrap, min.css〃替換為一個指向所述CDN服務(wù)器,且包含源服務(wù)器的域名及該靜態(tài)資源在源服務(wù)器中的路徑的一個鏈接地址,并修改該網(wǎng)頁數(shù)據(jù)的內(nèi)容長度。之后轉(zhuǎn)向步驟505。
      [0091]由于該網(wǎng)頁數(shù)據(jù)中攜帶了攔截標(biāo)識,攔截服務(wù)器能夠根據(jù)攔截標(biāo)識確定該網(wǎng)頁數(shù)據(jù)需要被攔截。
      [0092]該鏈接地址的具體格式可以為www.cdnlXXXl.com/bootstrap/css/bootstrap,min.css ? web_real_domain = www.1XXX1.corner el = "stylesheet",其中 CDN 服務(wù)器的域名包含www.cdnlXXXl.com,該靜態(tài)資源在源服務(wù)器中的路徑/bootstrap/css/bootstrap.min.css,源服務(wù)器的域名(web_real_domain) www.1XXX1.com,該靜態(tài)信息的引用地址rel="stylesheet"。圖6中的網(wǎng)頁數(shù)據(jù)內(nèi)容修改經(jīng)步驟504的修改后可以如圖7所示。
      [0093]步驟504,攔截服務(wù)器將修改后的網(wǎng)頁數(shù)據(jù)發(fā)送至客戶端。
      [0094]步驟505,客戶端接收攔截服務(wù)器發(fā)送的修改后的網(wǎng)頁數(shù)據(jù)。之后轉(zhuǎn)向步驟506。
      [0095]步驟506,客戶端向該網(wǎng)頁數(shù)據(jù)中的靜態(tài)資源的地址www.cdnlXXXl.com/bootstrap/css/bootstrap.min.css ? web_real_domain = www.1XXX1.com^rel ="stylesheet〃發(fā)起下載請求。之后轉(zhuǎn)向步驟507。在實際應(yīng)用中,客戶端也可能需要訪問網(wǎng)頁數(shù)據(jù)中的其他資源,比如動態(tài)資源等,這些不是本發(fā)明所主要關(guān)心的內(nèi)容,在此亦不在進行詳細(xì)的說明。由于該下載請求是指向CDN服務(wù)器的連接地址,則該下載請求會被轉(zhuǎn)向該⑶N服務(wù)器。
      [0096]步驟507,⑶N服務(wù)器接收客戶端發(fā)送的下載請求,判斷自身服務(wù)器中是否緩存了相應(yīng)的靜態(tài)資源,若否,則轉(zhuǎn)向步驟508,若是,則轉(zhuǎn)向步驟512。
      [0097]具體的,CDN服務(wù)器從請求該靜態(tài)資源的鏈接地址中提取該靜態(tài)資源在源服務(wù)器中的路徑/bootstrap/css/bootstrap.min.css,判斷自身是否緩存了該路徑對應(yīng)靜態(tài)資源。
      [0098]步驟508,⑶N服務(wù)器從請求該靜態(tài)資源的鏈接地址中提取源服務(wù)器的鏈接地址www.1XXX1.com,以及該靜態(tài)資源在源服務(wù)器中的路徑/bootstrap/css/bootstrap.min.csso之后轉(zhuǎn)向步驟509。
      [0099]如果步驟508中如果沒能成功“從請求該靜態(tài)資源的鏈接地址中提取源服務(wù)器的鏈接地址”,則可以提取該靜態(tài)資源的引用地址rel = "stylesheet",之后根據(jù)該引用地址獲取源服務(wù)器的鏈接地址。
      [0100]步驟509,⑶N服務(wù)器生成一個用于向源服務(wù)器請求該靜態(tài)資源的鏈接www.1XXX1.com/bootstrap/css/bootstrap, min.css,并發(fā)起針對該鏈接的下載請求。之后轉(zhuǎn)向步驟510。
      [0101]步驟510,源服務(wù)器接收CDN發(fā)送的下載請求,提取所請求的靜態(tài)資源在源服務(wù)器中的路徑bootstrap/css/bootstrap.min.css,將該路徑下存儲的靜態(tài)資源發(fā)送至Q)N服務(wù)器。之后轉(zhuǎn)向步驟511。
      [0102]步驟511,⑶N服務(wù)器接收源服務(wù)器發(fā)送的靜態(tài)資源,將該靜態(tài)資源存儲在bootstrap/css/bootstrap, min.css 的路徑下。之后轉(zhuǎn)向步驟 512。
      [0103]步驟512,⑶N服務(wù)器將緩存的靜態(tài)資源發(fā)送至客戶端。
      [0104]至此,完成了靜態(tài)資源通過⑶N服務(wù)器下載的過程,如果該靜態(tài)資源為發(fā)生更新的靜態(tài)資源,那么在步驟507的判斷結(jié)果為否,CDN服務(wù)器自行向源服務(wù)器請求該靜態(tài)資源,通過這種方式,實現(xiàn)了更新的靜態(tài)資源的自動同步。在后續(xù)過程中,如果再有其他的客戶端發(fā)起了針對該靜態(tài)資源的下載請求,按照上述的流程,在步驟507的判斷結(jié)果會為是,直接跳轉(zhuǎn)至步驟512,將緩存的靜態(tài)資源發(fā)送至客戶端。這樣就通過⑶N服務(wù)器實現(xiàn)了靜態(tài)資源的就近下載。
      [0105]圖8為本發(fā)明一個實施例提供的一種通過CDN下載資源的實現(xiàn)裝置的結(jié)構(gòu)示意圖,該實施例提供的通過CDN下載資源的實現(xiàn)裝置可作為攔截服務(wù)器應(yīng)用到圖5中所示的方法中,該裝置可以包括:攔截模塊801、修改模塊802和發(fā)送模塊803,其中,
      [0106]攔截模塊801,用于攔截源服務(wù)器向客戶端發(fā)送的原始網(wǎng)頁數(shù)據(jù);所述原始網(wǎng)頁數(shù)據(jù)包括有所述源服務(wù)器的地址信息和靜態(tài)資源在所述源服務(wù)器的地址信息;
      [0107]修改模塊802,用于將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息調(diào)整為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址,得到修改后的網(wǎng)頁數(shù)據(jù);其中,所述鏈接地址中攜帶有所述源服務(wù)器的地址信息以及靜態(tài)資源在所述源服務(wù)器的地址信息;
      [0108]發(fā)送模塊803,用于將修改后的網(wǎng)頁數(shù)據(jù)發(fā)送到客戶端,以使所述客戶端從對應(yīng)的CDN服務(wù)器中下載相應(yīng)的靜態(tài)資源。
      [0109]本實施例提供的通過CDN下載資源的實現(xiàn)裝置,攔截源服務(wù)器向客戶端發(fā)送的原始網(wǎng)頁數(shù)據(jù);所述原始網(wǎng)頁數(shù)據(jù)包括有所述源服務(wù)器的地址信息和靜態(tài)資源在所述源服務(wù)器的地址信息;將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息調(diào)整為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址,得到修改后的網(wǎng)頁數(shù)據(jù);其中,所述鏈接地址中攜帶有所述源服務(wù)器的地址信息以及靜態(tài)資源在所述源服務(wù)器的地址信息;將修改后的網(wǎng)頁數(shù)據(jù)發(fā)送到客戶端,以使所述客戶端從對應(yīng)的CDN服務(wù)器中下載相應(yīng)的靜態(tài)資源。這樣客戶端會跳轉(zhuǎn)到相應(yīng)的CDN服務(wù)器請求靜態(tài)資源,如果相應(yīng)的靜態(tài)資源沒有緩存到CDN服務(wù)器,能夠觸發(fā)CDN服務(wù)器根據(jù)鏈接地址所指示的源服務(wù)器的地址以及靜態(tài)資源的在源服務(wù)器中的地址主動向源服務(wù)器請求相應(yīng)的靜態(tài)資源。這樣就實現(xiàn)了 CDN服務(wù)器向源服務(wù)器的主動同步。
      [0110]需要指出的是,本發(fā)明實施例所提供的通過CDN下載資源的實現(xiàn)裝置本身可以為一個功能模塊或者為具有相應(yīng)功能的裝置。比如在實際應(yīng)用中,該裝置本身可以為源服務(wù)器或者⑶N服務(wù)器的一個功能模塊。
      [0111]具體應(yīng)用時,修改模塊802可以用于將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息修改為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址以及調(diào)整網(wǎng)頁數(shù)據(jù)中的內(nèi)容長度,得到修改后的網(wǎng)頁數(shù)據(jù)。
      [0112]具體應(yīng)用時,上述的鏈接地址還攜帶有靜態(tài)資源的引用地址信息,所述靜態(tài)資源的引用地址信息是從所述網(wǎng)頁數(shù)據(jù)中獲取的。
      [0113]本發(fā)明的一個實施例還提供了一種客戶端,如圖9所示,該客戶端包括第一接收模塊901、下載請求模塊902和第二接收模塊903,其中,
      [0114]第一接收模塊901,用于接收網(wǎng)頁數(shù)據(jù);所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向CDN服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息;
      [0115]下載請求模塊902,用于根據(jù)靜態(tài)資源的地址向?qū)?yīng)⑶N請求下載相應(yīng)的靜態(tài)資源;
      [0116]第二接收模塊903,用于接收⑶N服務(wù)器返回的靜態(tài)資源。
      [0117]本發(fā)明實施例提供的客戶端根據(jù)靜態(tài)資源的地址向?qū)?yīng)的CDN服務(wù)器請求下載相應(yīng)的靜態(tài)資源時,即請求訪問該指向CDN服務(wù)器的鏈接地址時,其訪問請求會被跳轉(zhuǎn)到CDN服務(wù)器上,CDN服務(wù)器能夠根據(jù)鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息從服務(wù)器中下載相應(yīng)的靜態(tài)資源并緩存到CDN服務(wù)器,這樣一方面,可以通過CDN服務(wù)器實現(xiàn)就近下載,另一方面能夠使CDN服務(wù)器根據(jù)源服務(wù)器的地址信息和靜態(tài)資源在源服務(wù)器中的地址信息主動向源服務(wù)器請求未緩存的靜態(tài)資源,能夠使CDN服務(wù)器自動實現(xiàn)與源服務(wù)器的同步。
      [0118]在一些示例中,⑶N服務(wù)器返回的靜態(tài)資源為所述⑶N服務(wù)器根據(jù)所述鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息向源服務(wù)器下載的。
      [0119]在具體應(yīng)用時,這里的鏈接地址還攜帶有靜態(tài)資源的引用地址信息。
      [0120]本發(fā)明的一個實施例還提供了一種⑶N服務(wù)器,如圖10所示,服務(wù)器包括接收模塊1001、判斷模塊1002和發(fā)送模塊1003,其中,
      [0121]接收模塊1001,用于接收客戶端根據(jù)網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址發(fā)起的靜態(tài)資源下載請求;所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向CDN服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息;
      [0122]判斷模塊1002,用于判斷第一接收模塊1001接收到的靜態(tài)資源下載請求所請求下載的靜態(tài)資源是否已緩存;
      [0123]發(fā)送模塊1003,用于在判斷模塊1002判斷相應(yīng)的靜態(tài)資源已緩存時,將緩存的相應(yīng)的靜態(tài)資源發(fā)送至所述客戶端;在判斷模塊1002判斷相應(yīng)的靜態(tài)資源未緩存時,根據(jù)相應(yīng)的靜態(tài)資源對應(yīng)的鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息向相應(yīng)的源服務(wù)器請求相應(yīng)的靜態(tài)資源,在接收到相應(yīng)的靜態(tài)資源后緩存并發(fā)送到所述客戶端。
      [0124]本發(fā)明實施例提供的⑶N服務(wù)器,在接收客戶端根據(jù)網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址發(fā)起的靜態(tài)資源下載請求后,判斷所請求的靜態(tài)資源是否緩存,若是,則將緩存的相應(yīng)的資源發(fā)送至客戶端,如果否,則向相應(yīng)的靜態(tài)資源所在的源服務(wù)器請求相應(yīng)的靜態(tài)資源,在接收到相應(yīng)的靜態(tài)資源后緩存。這樣,對于發(fā)生更新的靜態(tài)資源,CDN服務(wù)器能夠根據(jù)首次針對該靜態(tài)資源的下載請求向源服務(wù)器請求相應(yīng)的靜態(tài)資源,自動實現(xiàn)與源服務(wù)器的同步。
      [0125]可選的,上述的鏈接地址還攜帶有靜態(tài)資源的引用地址信息;
      [0126]該⑶N服務(wù)器還包括:
      [0127]尋址模塊1004,用于在判斷模塊1002判斷相應(yīng)的靜態(tài)資源未緩存后,發(fā)送模塊1003根據(jù)相應(yīng)的靜態(tài)資源的原始地址向相應(yīng)的源服務(wù)器地址請求相應(yīng)的靜態(tài)資源之前,從對應(yīng)的鏈接地址中提取相應(yīng)的源服務(wù)器的地址,在提取相應(yīng)的源服務(wù)器的地址失敗時,根據(jù)對應(yīng)的鏈接地址中的引用地址Referer確定相應(yīng)的源服務(wù)器的地址。
      [0128]本發(fā)明的實施例公開了:
      [0129]Al、一種通過⑶N下載資源的實現(xiàn)裝置,其特征在于,包括:
      [0130]攔截模塊,用于攔截源服務(wù)器向客戶端發(fā)送的原始網(wǎng)頁數(shù)據(jù);所述原始網(wǎng)頁數(shù)據(jù)包括有所述源服務(wù)器的地址信息和靜態(tài)資源在所述源服務(wù)器的地址信息;
      [0131]修改模塊,用于將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息調(diào)整為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址,得到修改后的網(wǎng)頁數(shù)據(jù);其中,所述鏈接地址中攜帶有所述源服務(wù)器的地址信息以及靜態(tài)資源在所述源服務(wù)器的地址信息;
      [0132]發(fā)送模塊,用于將修改后的網(wǎng)頁數(shù)據(jù)發(fā)送到客戶端,以使所述客戶端從對應(yīng)的CDN服務(wù)器中下載相應(yīng)的靜態(tài)資源。
      [0133]A2、如權(quán)利要求Al所述的裝置,其特征在于,所述修改模塊,具體用于將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息修改為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址以及調(diào)整網(wǎng)頁數(shù)據(jù)中的內(nèi)容長度,得到修改后的網(wǎng)頁數(shù)據(jù)。
      [0134]A3、如權(quán)利要求Al所述的裝置,其特征在于,所述鏈接地址還攜帶有靜態(tài)資源的引用地址信息,所述靜態(tài)資源的引用地址信息是從所述網(wǎng)頁數(shù)據(jù)中獲取的。
      [0135]B4、一種客戶端,其特征在于,包括:
      [0136]第一接收模塊,用于接收網(wǎng)頁數(shù)據(jù);所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向⑶N服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息;
      [0137]下載請求模塊,用于根據(jù)靜態(tài)資源的地址向?qū)?yīng)CDN請求下載相應(yīng)的靜態(tài)資源;
      [0138]第二接收模塊,用于接收⑶N服務(wù)器返回的靜態(tài)資源。
      [0139]B5、如權(quán)利要求B4所述的客戶端,其特征在于,⑶N服務(wù)器返回的靜態(tài)資源為所述CDN服務(wù)器根據(jù)所述鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息,以及靜態(tài)資源在源服務(wù)器中的地址信息向源服務(wù)器下載的。
      [0140]B6、如權(quán)利要求B4所述的客戶端,其特征在于,所述鏈接地址還攜帶有靜態(tài)資源的引用地址信息。
      [0141]C7、一種服務(wù)器,其特征在于,所述服務(wù)器包括:
      [0142]接收模塊,用于接收客戶端根據(jù)網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址發(fā)起的靜態(tài)資源下載請求;所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向CDN服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息;
      [0143]判斷模塊,用于判斷所述第一接收模塊接收到的靜態(tài)資源下載請求所請求下載的靜態(tài)資源是否已緩存;
      [0144]發(fā)送模塊,用于在所述判斷模塊判斷相應(yīng)的靜態(tài)資源已緩存時,將緩存的相應(yīng)的靜態(tài)資源發(fā)送至所述客戶端;在所述判斷模塊判斷相應(yīng)的靜態(tài)資源未緩存時,根據(jù)相應(yīng)的靜態(tài)資源對應(yīng)的鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息向相應(yīng)的源服務(wù)器請求相應(yīng)的靜態(tài)資源,在接收到相應(yīng)的靜態(tài)資源后緩存并發(fā)送到所述客戶端。
      [0145]CS、如權(quán)利要求C7所述的服務(wù)器,其特征在于,所述鏈接地址還攜帶有靜態(tài)資源的引用地址信息;
      [0146]所述服務(wù)器還包括:
      [0147]尋址模塊,用于在所述判斷模塊判斷相應(yīng)的靜態(tài)資源未緩存后,所述發(fā)送模塊根據(jù)相應(yīng)的靜態(tài)資源的原始地址向相應(yīng)的源服務(wù)器地址請求相應(yīng)的靜態(tài)資源之前,從對應(yīng)的鏈接地址中提取相應(yīng)的源服務(wù)器的地址,在提取相應(yīng)的源服務(wù)器的地址失敗時,根據(jù)對應(yīng)的鏈接地址中的引用地址Referer確定相應(yīng)的源服務(wù)器的地址。
      [0148]D9、一種通過⑶N下載資源的實現(xiàn)方法,其特征在于,包括:
      [0149]攔截源服務(wù)器向客戶端發(fā)送的原始網(wǎng)頁數(shù)據(jù);所述原始網(wǎng)頁數(shù)據(jù)包括有所述源服務(wù)器的地址信息和靜態(tài)資源在所述源服務(wù)器的地址信息;
      [0150]將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息調(diào)整為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址,得到修改后的網(wǎng)頁數(shù)據(jù);其中,所述鏈接地址中攜帶有所述源服務(wù)器的地址信息以及靜態(tài)資源在所述源服務(wù)器的地址信息;
      [0151]將修改后的網(wǎng)頁數(shù)據(jù)發(fā)送到客戶端,以使所述客戶端從對應(yīng)的CDN服務(wù)器中下載相應(yīng)的靜態(tài)資源。
      [0152]D10、如權(quán)利要求D9所述的方法,其特征在于,所述將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息修改為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址,得到修改后的網(wǎng)頁數(shù)據(jù)包括:
      [0153]將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息修改為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址以及調(diào)整網(wǎng)頁數(shù)據(jù)中的內(nèi)容長度,得到修改后的網(wǎng)頁數(shù)據(jù)。
      [0154]011、如權(quán)利要求09所述的方法,其特征在于,所述鏈接地址還攜帶有靜態(tài)資源的引用地址信息,所述靜態(tài)資源的引用地址信息是從所述網(wǎng)頁數(shù)據(jù)中獲取的。
      [0155]E12、一種通過⑶N下載資源的實現(xiàn)方法,其特征在于,包括:
      [0156]接收網(wǎng)頁數(shù)據(jù);所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向⑶N服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息;
      [0157]根據(jù)靜態(tài)資源的地址向?qū)?yīng)⑶N服務(wù)器請求下載相應(yīng)的靜態(tài)資源;
      [0158]接收⑶N服務(wù)器返回的靜態(tài)資源。
      [0159]E13、如要求E12所述的方法,其特征在于,
      [0160]CDN服務(wù)器返回的靜態(tài)資源為所述CDN服務(wù)器根據(jù)所述鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息向源服務(wù)器下載的。
      [0161]E14、如權(quán)利要求E12所述方法,其特征在于,所述鏈接地址還攜帶有靜態(tài)資源的引用地址信息。
      [0162]F15、一種通過⑶N下載資源的實現(xiàn)方法,其特征在于,包括:
      [0163]接收客戶端根據(jù)網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址發(fā)起的靜態(tài)資源下載請求;所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向CDN服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息;
      [0164]判斷所請求下載的靜態(tài)資源是否已緩存;
      [0165]如果已緩存,將緩存的相應(yīng)的靜態(tài)資源發(fā)送至所述客戶端;
      [0166]如果未緩存,根據(jù)相應(yīng)的靜態(tài)資源對應(yīng)的鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息向相應(yīng)的源服務(wù)器請求相應(yīng)的靜態(tài)資源,在接收到相應(yīng)的源服務(wù)器返回的相應(yīng)的靜態(tài)資源后緩存并發(fā)送到所述客戶端。
      [0167]F16、如權(quán)利要求F15所述的方法,其特征在于,所述鏈接地址還攜帶有靜態(tài)資源的引用地址信息;
      [0168]在所請求下載的靜態(tài)資源未緩存,根據(jù)相應(yīng)的靜態(tài)資源對應(yīng)的鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息向相應(yīng)的源服務(wù)器請求相應(yīng)的靜態(tài)資源之前,所述方法還包括:從對應(yīng)的鏈接地址中提取相應(yīng)的源服務(wù)器的地址信息,在提取相應(yīng)的源服務(wù)器的地址信息失敗時,根據(jù)對應(yīng)的鏈接地址中的引用地址信息確定相應(yīng)的源服務(wù)器的地址。
      [0169]本發(fā)明的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細(xì)節(jié)的情況下實踐。在一些實例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
      [0170]類似地,應(yīng)當(dāng)理解,為了精簡本發(fā)明公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋呈反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權(quán)利要求書由此明確地并入該【具體實施方式】,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。[0171 ] 本領(lǐng)域技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在于該實施例不同的一個或多個設(shè)備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是互相排斥之處,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的替代特征來代替。
      [0172]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
      [0173]本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的一種瀏覽器終端的設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
      [0174]應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
      [0175]最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求和說明書的范圍當(dāng)中。
      【權(quán)利要求】
      1.一種通過CDN下載資源的實現(xiàn)裝置,其特征在于,包括: 攔截模塊,用于攔截源服務(wù)器向客戶端發(fā)送的原始網(wǎng)頁數(shù)據(jù);所述原始網(wǎng)頁數(shù)據(jù)包括有所述源服務(wù)器的地址信息和靜態(tài)資源在所述源服務(wù)器的地址信息; 修改模塊,用于將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息調(diào)整為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址,得到修改后的網(wǎng)頁數(shù)據(jù);其中,所述鏈接地址中攜帶有所述源服務(wù)器的地址信息以及靜態(tài)資源在所述源服務(wù)器的地址信息; 發(fā)送模塊,用于將修改后的網(wǎng)頁數(shù)據(jù)發(fā)送到客戶端,以使所述客戶端從對應(yīng)的CDN服務(wù)器中下載相應(yīng)的靜態(tài)資源。
      2.如權(quán)利要求1所述的裝置,其特征在于,所述修改模塊,具體用于將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息修改為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址以及調(diào)整網(wǎng)頁數(shù)據(jù)中的內(nèi)容長度,得到修改后的網(wǎng)頁數(shù)據(jù)。
      3.如權(quán)利要求1所述的裝置,其特征在于,所述鏈接地址還攜帶有靜態(tài)資源的引用地址信息,所述靜態(tài)資源的引用地址信息是從所述網(wǎng)頁數(shù)據(jù)中獲取的。
      4.一種客戶端,其特征在于,包括: 第一接收模塊,用于接收網(wǎng)頁數(shù)據(jù);所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向CDN服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息; 下載請求模塊,用于根據(jù)靜態(tài)資源的地址向?qū)?yīng)CDN請求下載相應(yīng)的靜態(tài)資源; 第二接收模塊,用于接收CDN服務(wù)器返回的靜態(tài)資源。
      5.如權(quán)利要求4所述的客戶端,其特征在于,CDN服務(wù)器返回的靜態(tài)資源為所述CDN服務(wù)器根據(jù)所述鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息,以及靜態(tài)資源在源服務(wù)器中的地址信息向源服務(wù)器下載的。
      6.如權(quán)利要求4所述的客戶端,其特征在于,所述鏈接地址還攜帶有靜態(tài)資源的引用地址信息。
      7.一種服務(wù)器,其特征在于,所述服務(wù)器包括: 接收模塊,用于接收客戶端根據(jù)網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址發(fā)起的靜態(tài)資源下載請求;所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向CDN服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息; 判斷模塊,用于判斷所述第一接收模塊接收到的靜態(tài)資源下載請求所請求下載的靜態(tài)資源是否已緩存; 發(fā)送模塊,用于在所述判斷模塊判斷相應(yīng)的靜態(tài)資源已緩存時,將緩存的相應(yīng)的靜態(tài)資源發(fā)送至所述客戶端;在所述判斷模塊判斷相應(yīng)的靜態(tài)資源未緩存時,根據(jù)相應(yīng)的靜態(tài)資源對應(yīng)的鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息向相應(yīng)的源服務(wù)器請求相應(yīng)的靜態(tài)資源,在接收到相應(yīng)的靜態(tài)資源后緩存并發(fā)送到所述客戶端。
      8.一種通過⑶N下載資源的實現(xiàn)方法,其特征在于,包括: 攔截源服務(wù)器向客戶端發(fā)送的原始網(wǎng)頁數(shù)據(jù);所述原始網(wǎng)頁數(shù)據(jù)包括有所述源服務(wù)器的地址信息和靜態(tài)資源在所述源服務(wù)器的地址信息; 將攔截的原始網(wǎng)頁數(shù)據(jù)中靜態(tài)資源在所述源服務(wù)器的地址信息調(diào)整為指向?qū)?yīng)的CDN服務(wù)器的鏈接地址,得到修改后的網(wǎng)頁數(shù)據(jù);其中,所述鏈接地址中攜帶有所述源服務(wù)器的地址信息以及靜態(tài)資源在所述源服務(wù)器的地址信息; 將修改后的網(wǎng)頁數(shù)據(jù)發(fā)送到客戶端,以使所述客戶端從對應(yīng)的CDN服務(wù)器中下載相應(yīng)的靜態(tài)資源。
      9.一種通過⑶N下載資源的實現(xiàn)方法,其特征在于,包括: 接收網(wǎng)頁數(shù)據(jù);所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向CDN服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息; 根據(jù)靜態(tài)資源的地址向?qū)?yīng)CDN服務(wù)器請求下載相應(yīng)的靜態(tài)資源; 接收⑶N服務(wù)器返回的靜態(tài)資源。
      10.一種通過⑶N下載資源的實現(xiàn)方法,其特征在于,包括: 接收客戶端根據(jù)網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址發(fā)起的靜態(tài)資源下載請求;所述網(wǎng)頁數(shù)據(jù)中靜態(tài)資源的地址為指向CDN服務(wù)器的鏈接地址,所述鏈接地址攜帶有靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息; 判斷所請求下載的靜態(tài)資源是否已緩存; 如果已緩存,將緩存的相應(yīng)的靜態(tài)資源發(fā)送至所述客戶端; 如果未緩存,根據(jù)相應(yīng)的靜態(tài)資源對應(yīng)的鏈接地址中攜帶的靜態(tài)資源所在的源服務(wù)器的地址信息以及靜態(tài)資源在源服務(wù)器中的地址信息向相應(yīng)的源服務(wù)器請求相應(yīng)的靜態(tài)資源,在接收到相應(yīng)的源服務(wù)器返回的相應(yīng)的靜態(tài)資源后緩存并發(fā)送到所述客戶端。
      【文檔編號】H04L29/12GK104468817SQ201410806357
      【公開日】2015年3月25日 申請日期:2014年12月22日 優(yōu)先權(quán)日:2014年12月22日
      【發(fā)明者】李紀(jì)峰 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1