一種網頁資源下載方法、系統和裝置制造方法
【專利摘要】本申請公開了一種網頁資源下載方法、系統和裝置。該方法包括:客戶端下載網頁主資源,對下載的網頁主資源進行解析,將解析到的網頁子資源的下載信息加入到等待發送隊列中,在等待發送隊列中的網頁子資源個數達到預設值或等待發送隊列的等待時間達到預設值時,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,將該一個下載請求發給代理服務器;代理服務器從該一個下載請求中解析出一個以上的網頁子資源的下載信息,根據解析出的每個網頁子資源的下載信息分別發送下載請求,將下載的網頁子資源返回給所述客戶端。應用本發明能夠提高網頁加載速度或網頁資源的下載速度。
【專利說明】一種網頁資源下載方法、系統和裝置
【技術領域】
[0001]本申請涉及互聯網【技術領域】,尤其涉及一種網頁資源下載方法、系統和設備。
【背景技術】
[0002]瀏覽器要加載網頁,首先要下載并解析網頁資源。目前的網頁資源包括網頁主資源和網頁子資源,其中的網頁主資源是網頁源代碼,網頁子資源是網頁中除網頁主資源以外的其他資源,例如圖片、流媒體、JavaScript腳本和CSS腳本等。
[0003]目前,瀏覽器加載網頁時,先下載網頁主資源,然后解析網頁主資源。當解析到網頁主資源中外鏈的JavaScript腳本或CSS腳本時,停止解析網頁主資源并開始下載外鏈的JavaScript腳本或CSS腳本,直至該外鏈的JavaScript腳本或CSS腳本下載完畢并且解析和執行完該JavaScript腳本或CSS腳本后,再繼續解析網頁主資源。當解析到網頁主資源中除了外鏈的JavaScript腳本和CSS腳本以外的其他子資源時,每解析到一個所述其他子資源,則發送下載該其他子資源的請求,并繼續解析網頁主資源。
[0004]可見,目前的網頁子資源可以分為兩類,一類是需要等待的網頁子資源,當解析到需要等待的網頁子資源時,需要等待該網頁子資源下載完畢并解析和執行完畢后,才能繼續解析網頁主資源,另一類是不需要等待的網頁子資源,每解析到一個不需要等待的網頁子資源時,則發送下載該不需要等待的子資源的請求,并且繼續解析主資源。目前,需要等待的網頁子資源包括外鏈的JavaScript腳本和CSS腳本,不需要等待的網頁子資源包括除了外鏈的JavaScript腳本和CSS腳本以外的其他網頁子資源。
[0005]對上述技術方案進行分析可見,瀏覽器在加載網頁時,當從網頁主資源中解析到需要等待的網頁子資源時,由于需要等待該網頁子資源下載并且解析和執行完畢后,才能繼續解析網頁主資源,因此導致網頁加載速度較慢。當網頁主資源中存在不需要等待的網頁子資源時,由于每解析到一個不需要等待的網頁子資源,都需要發送一次網頁子資源下載請求,而每次對網頁子資源下載請求的處理都需要建立一個HTTP連接,如果網頁中存在N個子資源,就要在瀏覽器客戶端和服務器之間建立N個HTTP連接,由于每個HTTP連接都需要建立Socket連接、發送請求、等待回應,在建立每個Socket連接上額外花費的時間較多,特別是在無線網絡環境下,需要1.2秒到12秒的時間才能建立一個Socket連接,因此導致網頁子資源下載時間較長。
【發明內容】
[0006]本申請提供了一種網頁資源下載方法、系統和裝置,能夠提高網頁加載速度或網頁資源的下載速度。
[0007]—種網頁資源下載方法,該方法包括:
[0008]客戶端下載網頁主資源,對下載的網頁主資源進行解析,將解析到的網頁子資源的下載信息加入到等待發送隊列中,在等待發送隊列中的網頁子資源個數達到預設值或等待發送隊列的等待時間達到預設值時,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,將該一個下載請求發給代理服務器;
[0009]代理服務器從該一個下載請求中解析出一個以上的網頁子資源的下載信息,根據解析出的每個網頁子資源的下載信息分別發送下載請求,將下載的網頁子資源返回給所述
客戶端。
[0010]一種網頁資源下載方法,該方法包括:
[0011]代理服務器接收網頁主資源下載請求,下載網頁主資源,從網頁主資源中解析出需要等待的網頁子資源的統一資源標識符(URL)地址信息,將需要等待的網頁子資源的URL地址信息和網頁主資源打包在一個應答包中返回給瀏覽器客戶端,其中,網頁子資源的URL地址信息在應答包中位于網頁主資源的前面;
[0012]客戶端接收所述應答包,從所述應答包中解析出網頁子資源的URL地址信息,根據所述網頁子資源的URL地址信息發送網頁子資源下載請求,從所述應答包中解析出網頁主資源;
[0013]其中,所述需要等待的網頁子資源,是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源。
[0014]一種網頁資源下載系統,該系統包括客戶端和代理服務器;
[0015]所述客戶端,用于下載網頁主資源,對下載的網頁主資源進行解析,將解析到的網頁子資源的下載信息加入到等待發送隊列中,在等待發送隊列中的網頁子資源個數達到預設值或等待發送隊列的等待時間達到預設值時,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,將該一個下載請求發給代理服務器;
[0016]所述代理服務器,用于從該一個下載請求中解析出一個以上的網頁子資源的下載信息,根據解析出的每個網頁子資源的下載信息分別發送下載請求,將下載的網頁子資源返回給所述客戶端。
[0017]一種網頁資源下載系統,該系統包括客戶端和代理服務器;
[0018]所述客戶端,用于發送網頁主資源下載請求,接收應答包,從應答包中解析出網頁子資源的URL地址信息,根據所述網頁子資源的URL地址信息發送網頁子資源下載請求,從所述應答包中解析出網頁主資源;
[0019]所述代理服務器,用于接收網頁主資源下載請求,下載網頁主資源,從網頁主資源中解析出需要等待的網頁子資源的URL地址信息,將需要等待的網頁子資源的URL地址信息和網頁主資源打包在一個應答包中返回給瀏覽器客戶端,其中,網頁子資源的URL地址信息在應答包中位于網頁主資源的前面;
[0020]其中,所述需要等待的網頁子資源,是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源。
[0021]一種客戶端,該客戶端包括解析模塊和網絡模塊;
[0022]所述解析模塊,用于對下載的網頁主資源進行解析,將解析到的網頁子資源的下載信息發給所述網絡模塊;
[0023]所述網絡模塊,用于將網頁子資源的下載信息加入到等待發送隊列中,在等待發送隊列中的網頁子資源個數達到預設值或等待發送隊列的等待時間達到預設值時,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,將該一個下載請求發給代理服務器,接收代理服務器返回的網頁子資源。[0024]一種客戶端,該客戶端包括網絡模塊和解析模塊;
[0025]所述網絡模塊,用于向代理服務器發送網頁主資源下載請求;
[0026]所述解析模塊,用于接收代理服務器針對所述網頁主資源下載請求返回的應答包,對該應答包進行解析,當從應答包中解析出網頁子資源的URL地址信息時,根據解析出的URL地址信息發送網頁子資源下載請求,并繼續從應答包中解析出網頁主資源,
[0027]其中,所述應答包中攜帶有需要等待的網頁子資源的URL地址信息和網頁主資源,網頁子資源的URL地址信息在應答包中位于網頁主資源的前面;
[0028]其中,所述需要等待的網頁子資源,是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源。
[0029]一種代理服務器,該代理服務器包括解析模塊和網絡模塊;
[0030]所述網絡模塊,用于接收客戶端發來的下載請求,根據解析模塊解析出的每個網頁子資源的下載信息分別向資源服務器發送下載請求,將下載的網頁子資源發回給所述客戶端;
[0031]所述解析模塊,用于從客戶端發來的下載請求中解析出一個以上的網頁子資源的下載信息時,將每個網頁子資源的下載信息發給所述網絡模塊。
[0032]一種代理服務器,該代理服務器包括解析模塊和網絡模塊;
[0033]所述網絡模塊,用于接收客戶端發來的網頁主資源下載請求,下載網頁主資源,將網頁主資源和從網頁主資源中解析出的需要等待的網頁子資源的URL地址信息打包在一個應答包中發給所述客戶端;
[0034]所述解析模塊,用于從所述網絡模塊下載的網頁主資源中解析出需要等待的網頁子資源的URL地址信息;
[0035]其中,所述需要等待的網頁子資源,是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源。
[0036]由上述方案可見,本發明中,客戶端下載網頁主資源并對網頁主資源進行解析,當解析到網頁子資源時,并沒有立即向資源服務器發送網頁子資源的下載請求,而是將網頁子資源的下載信息加入到等待發送隊列中,在等待發送隊列中的網頁子資源個數達到預設值或等待發送隊列的等待時間達到預設值時,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,將該一個下載請求發給代理服務器,由代理服務器從該一個下載請求中解析出一個以上的網頁子資源的下載信息,根據解析出的每個網頁子資源的下載信息分別發送下載請求,將下載的網頁子資源返回給所述客戶端。也就是說,本發明中,在客戶端和代理服務器之間建立一次HTTP連接,將等待發送隊列中的所有網頁子資源的下載信息發給代理服務器,然后由代理服務器根據每個網頁子資源的下載信息從資源服務器下載網頁子資源,與現有技術中客戶端只要解析到網頁子資源就建立與資源服務器的HTTP連接,從資源服務器獲取網頁子資源相比,減少了客戶端與服務器之間建立HTTP連接的次數,進而減少了 Socket連接次數,對于客戶端所處網絡環境較差的情況而言,例如對于無線網絡環境下的客戶端而言,相當于減少了處于較差網絡環境下的客戶端與服務器的HTTP連接次數,并由網絡環境較好的代理服務器(代理服務器與資源服務器之間通常為有線網絡環境)從資源服務器獲取網頁子資源信息,將獲取的網頁子資源信息返回給客戶端,因而能夠明顯加快網頁子資源的下載速度。[0037]另外,為了解決客戶端由于需要等待某些網頁子資源下載完畢后才能繼續解析主資源而造成的加載速度較慢的問題,本發明還提出,客戶端向代理服務器發送網頁主資源下載請求,然后由代理服務器進行一系列處理從而減少客戶端等待網頁資源下載的時間。具體地,代理服務器根據網頁主資源下載請求下載網頁主資源,然后進一步對網頁主資源進行解析,從而解析出需要等待的網頁子資源的URL地址信息,將需要等待的網頁子資源的URL地址信息和網頁主資源一同打包發給客戶端,并且,保證網頁子資源的URL地址信息在應答包中的位置位于網頁主資源之前,保證客戶端讀取應答包時能夠先讀取到網頁子資源的URL地址信息,客戶端讀取到網頁子資源的URL地址信息以后,根據網頁子資源的URL地址信息發送網頁子資源下載請求,并繼續從應答包中解析出網頁主資源,從而保證了客戶端在從網頁主資源中解析出需要等待的網頁子資源之前,已經發送了關于需要等待的網頁子資源的下載請求,從而減少了客戶端等待下載所述網頁子資源的時間,進而加快了網頁的下載速度。
【專利附圖】
【附圖說明】
[0038]圖1是本發明提供的網頁資源下載方法流程圖。
[0039]圖2是本發明提供的在網頁主資源解析過程中下載網頁子資源的流程圖。
[0040]圖3是本發明提供的預先下載網頁子資源的流程圖。
[0041]圖4是本發明提供的網頁資源下載系統的第一組成示意圖。
[0042]圖5是本發明提供的網頁資源下載系統的第二組成示意圖。
[0043]圖6是本發明提供的網頁資源下載的客戶端的第一結構圖。
[0044]圖7是本發明提供的網頁資源下載的客戶端的第二結構圖。
[0045]圖8是本發明提供的網頁資源下載的代理服務器的第一結構圖。
[0046]圖9是本發明提供的網頁資源下載的代理服務器的第二結構圖。
【具體實施方式】
[0047]圖1是本發明提供的網頁資源下載方法流程圖。
[0048]如圖1所示,該方法包括:
[0049]步驟101,客戶端下載網頁主資源。
[0050]步驟102,客戶端對下載的網頁主資源進行解析,將解析到的網頁子資源的下載信息加入到等待發送隊列中。
[0051]步驟103,在等待發送隊列中的網頁子資源個數達到預設值或等待發送隊列的等待時間達到預設值時,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,將該一個下載請求發給代理服務器。
[0052]步驟104,代理服務器從該一個下載請求中解析出一個以上的網頁子資源的下載信息,根據解析出的每個網頁子資源的下載信息分別發送下載請求,將下載的網頁子資源返回給所述客戶端。
[0053]可見,圖1所述方法通過對在網頁主資源解析過程解析到的網頁子資源進行打包下載,即將解析到的網頁子資源的下載信息加入到等待發送隊列中,當等待發送隊列中的網頁子資源個數達到預設值或者等待發送隊列的等待時間達到預設值時,將等待發送隊列中的所有網頁子資源的下載信息打包成一個下載請求,將該下載請求發給代理服務器,代理服務器對該一個下載請求進行解析,從而根據解析結果代替客戶端從資源服務器獲取網頁子資源,因而減少了處于較差網絡環境下的客戶端與服務器的HTTP連接次數,由網絡環境較好的代理服務器(代理服務器與資源服務器之間通常為有線網絡環境)從資源服務器獲取網頁子資源信息,將獲取的網頁子資源信息返回給客戶端,因而能夠明顯加快網頁子資源的下載速度。
[0054]圖2是本發明提供的在網頁主資源解析過程中下載網頁子資源的流程圖。
[0055]如圖2所示,該流程包括:
[0056]步驟201,客戶端對網頁主資源進行解析。
[0057]步驟202,客戶端判斷解析到的網頁子資源是否正在下載中,如果是,執行步驟203,否則執行步驟204。
[0058]步驟203,將該網頁子資源加入到等待響應隊列中,返回步驟201。
[0059]其中,如果該網頁子資源已經在等待響應隊列中了,則當等待響應隊列中的該網頁子資源下載完畢后,可以從緩存中讀取下載完畢的網頁子資源。
[0060]本步驟中,如果該網頁子資源是外鏈的JavaScript腳本或CSS腳本等需要等待的網頁子資源,由于只有在該需要等待的網頁子資源下載完畢并解析和執行后才能繼續解析網頁主資源,因此相當于需要等待該網頁子資源下載完畢并解析和執行后才能返回步驟201。
[0061]步驟204,將該網頁子資源的下載信息加入到等待發送隊列中。
[0062]步驟205,判斷等待發送隊列中的網頁子資源個數是否達到預設值,如果是,執行步驟207,否則,執行步驟206。
[0063]步驟206,判斷等待發送隊列的等待時間是否達到預設值,如果是,執行步驟207,否則繼續保持所述等待發送隊列處于等待狀態,并返回步驟201。
[0064]步驟207,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中發給代理服務器。
[0065]步驟208,代理服務器從該一個下載請求中解析出一個以上的網頁子資源的下載信息。
[0066]步驟209,代理服務器根據解析出的每個網頁子資源的下載信息分別發送下載請求。
[0067]步驟210,代理服務器將下載的網頁子資源返回給所述客戶端。
[0068]其中,客戶端可以包括解析模塊和網絡模塊,解析模塊在解析網頁主資源時,如果解析到網頁子資源,向網絡模塊發送該網頁子資源的下載請求,網絡模塊收到該網頁子資源的下載請求后,由網絡模塊執行步驟202-207,換言之,由網絡模塊判斷該網頁子資源當前是否正在下載,如果是,將該網頁子資源加入到等待響應隊列中,其中,如果該網頁子資源已經在等待響應隊列中了,則保持該網頁子資源仍然處于等待響應隊列中,直至等待響應隊列中的該網頁子資源下載完畢后,可以從緩存中讀取下載完畢的網頁子資源,如果該網頁子資源當前沒有正在下載,則將該網頁子資源的下載請求加入到等待發送隊列中,判斷等待發送隊列中的網頁子資源下載請求個數是否達到預定值,如果是,將該等待發送隊列中的所有網頁子資源下載請求打包在一個下載請求中發給代理服務器,否則繼續判斷等待發送隊列的等待時間是否達到預定值,如果是,將該等待發送隊列中的所有網頁子資源下載請求打包在一個下載請求中發給代理服務器,否則由解析模塊繼續解析網頁主資源。其中,可以在確定出要將等待發送隊列中的所有網頁子資源的下載信息打包時,在執行打包動作之前,將所述所有網頁子資源加入到等待響應隊列中。
[0069]其中,等待發送隊列的等待時間,是指最先進入該等待發送隊列的網頁子資源的等待時間。
[0070]圖2所示方法中,代理服務器還可以將下載的兩個以上的網頁子資源打包在一個應答包中發給客戶端,所述客戶端接收所述應答包,從所述應答包中解析出兩個以上的網頁子資源。
[0071]除了利用圖2所示的方法在網頁主資源解析過程中對網頁子資源進行打包下載以外,為了減少客戶端等待外鏈的JavaScript腳本或CSS腳本等需要等待的網頁子資源的時間,本發明還提供了一種預先下載網頁子資源的方法,具體請參見圖3。
[0072]圖3是本發明提供的預先下載網頁子資源的流程圖。
[0073]如圖3所示,該流程包括:
[0074]步驟301,客戶端向代理服務器發送網頁主資源下載請求。
[0075]步驟302,代理服務器接收網頁主資源下載請求,下載網頁主資源。
[0076]步驟303,代理服務器從網頁主資源中解析出需要等待的網頁子資源的URL地址信息,將需要等待的網頁子資源的URL地址信息和網頁主資源打包在一個應答包中發給所述客戶端。
[0077]其中,網頁子資源的URL地址信息在應答包中位于網頁主資源的前面。
[0078]其中,多個網頁子資源的URL地址信息可以以URL列表的形式攜帶在應答包中。
[0079]步驟304,客戶端解析該應答包,當從應答包中解析出網頁子資源的URL地址信息時,根據解析出的URL地址信息發送網頁子資源下載請求,并繼續從應答包中解析出網頁主資源。
[0080]本步驟中,可以將兩個以上的網頁子資源的URL地址信息直接打包在一個網頁子資源下載請求中發給代理服務器,代理服務器從所述網頁子資源下載請求中解析出所述兩個以上的網頁子資源的URL地址信息,根據解析出的每個網頁子資源的URL地址信息分別發送網頁子資源下載請求,將下載的網頁子資源發給客戶端。也可以根據兩個以上的網頁子資源的URL地址信息分別生成下載請求,將該分別生成的下載請求打包在一個下載請求中發給代理服務器。還可以將解析出的每個網頁子資源的URL地址信息加入到等待發送隊列中,在等待發送隊列中的網頁子資源個數達到預定值,或者等待發送隊列的發送時間達到預定值時,將等待發送隊列中包括URL地址信息在內的所有網頁子資源的下載信息打包在一個下載請求中發給代理服務器。
[0081]圖2所示的方法和圖3所示的方法可以單獨使用,也可以結合使用。當結合使用時,先執行圖3所示流程,在執行完步驟303,即解析出網頁主資源以后,執行圖2所示流程。
[0082]本發明所述需要等待的網頁子資源,是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源,例如外鏈的JavaScript腳本和CSS腳本等。
[0083]作為示例性地,本發明所述的打包,可以采用將打包對象以標簽長度取值(TLV)的格式攜帶在數據包的包體中。例如,客戶端將一個以上的網頁子資源的下載信息打包在一個下載請求中,具體可以為,客戶端將一個以上的網頁子資源的下載信息,以TLV的格式攜帶在該一個下載請求中的包體中,即將每個網頁子資源的下載信息的標簽(Tag)值、長度(Length)值以及該下載信息的具體取值攜帶在該一個下載請求的包體中。
[0084]其中,每個網頁子資源的下載信息可以是用于下載網頁子資源的HTTP請求,也可以是用于生成所述HTTP請求的必要信息。當所述下載信息是用于下載網頁子資源的HTTP請求時,代理服務器可以直接從客戶端發來的所述一個下載請求中解析出用于下載每個網頁子資源的HTTP請求,因而可以直接將每個網頁子資源的HTTP請求發給相應的資源服務器,從資源服務器中下載網頁子資源。當所述下載信息是用于生成所述HTTP請求的必要信息時,代理服務器在從客戶端發來的所述一個下載請求中解析出每個網頁子資源的下載信息后,還需要根據所述下載信息生成用于下載網頁子資源的HTTP請求,然后才能向資源服務器發送該HTTP請求,從而從資源服務器下載網頁子資源。
[0085]根據本發明提供的上述方法,本發明還提供了網頁資源下載的系統和裝置,具體請參見圖4-圖9。
[0086]圖4是本發明提供的網頁資源下載系統的第一組成示意圖。
[0087]如圖4所示,該系統包括客戶端401和代理服務器402。
[0088]客戶端401,用于下載網頁主資源,對下載的網頁主資源進行解析,將解析到的網頁子資源的下載信息加入到等待發送隊列中,在等待發送隊列中的網頁子資源個數達到預設值或等待發送隊列的等待時間達到預設值時,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,將該一個下載請求發給代理服務器402。
[0089]代理服務器402,用于從該一個下載請求中解析出一個以上的網頁子資源的下載信息,根據解析出的每個網頁子資源的下載信息分別發送下載請求,將下載的網頁子資源返回給客戶端401。
[0090]圖5是本發明提供的網頁資源下載系統的第二組成示意圖。
[0091]如圖5所示,該系統包括客戶端501和代理服務器502。
[0092]客戶端501,用于發送網頁主資源下載請求,接收應答包,從應答包中解析出網頁子資源的URL地址信息,根據所述網頁子資源的URL地址信息發送網頁子資源下載請求,從所述應答包中解析出網頁主資源。
[0093]代理服務器502,用于接收網頁主資源下載請求,下載網頁主資源,從網頁主資源中解析出需要等待的網頁子資源的URL地址信息,將需要等待的網頁子資源的URL地址信息和網頁主資源打包在一個應答包中返回給客戶端501,其中,網頁子資源的URL地址信息在應答包中位于網頁主資源的前面;其中,所述需要等待的網頁子資源,是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源。
[0094]圖6是本發明提供的網頁資源下載的客戶端的第一結構圖。
[0095]如圖6所示,該客戶端包括解析模塊601和網絡模塊602。
[0096]解析模塊601,用于對下載的網頁主資源進行解析,將解析到的網頁子資源的下載信息發給網絡模塊602。
[0097]網絡模塊602,用于將網頁子資源的下載信息加入到等待發送隊列中,在等待發送隊列中的網頁子資源個數達到預設值或等待發送隊列的等待時間達到預設值時,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,將該一個下載請求發給代理服務器,接收代理服務器返回的網頁子資源。
[0098]網絡模塊602,具體可以用于判斷所述解析模塊解析到的網頁子資源當前是否正在下載中,如果沒有正在下載,則將該網頁子資源的下載信息加入到等待發送隊列中,判斷等待發送隊列中的網頁子資源個數是否達到預設值,如果是,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,否則,判斷等待發送隊列的等待時間是否達到預設值,如果是,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,否則繼續保持所述等待發送隊列處于等待狀態。
[0099]網絡模塊602,還用于向代理服務器發送網頁主資源下載請求。
[0100]解析模塊601,還用于接收代理服務器針對所述網頁主資源下載請求返回的應答包,對該應答包進行解析,當從應答包中解析出網頁子資源的URL地址信息時,根據解析出的URL地址信息發送網頁子資源下載請求,并繼續從應答包中解析出網頁主資源,其中,所述應答包中攜帶有需要等待的網頁子資源的URL地址信息和網頁主資源,網頁子資源的URL地址信息在應答包中位于網頁主資源的前面;其中,所述需要等待的網頁子資源,是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源。
[0101]網絡模塊602,還用于將解析模塊601解析出的兩個以上的網頁子資源的URL地址信息打包在一個網頁子資源下載請求中發給代理服務器。
[0102]網絡模塊602,可以用于將打包對象分別以標簽長度取值(TLV)的格式打包在數據包的包體中。
[0103]圖7是本發明提供的網頁資源下載的客戶端的第二結構圖。
[0104]如圖7所示,該客戶端包括解析模塊701和網絡模塊702。
[0105]網絡模塊702,用于向代理服務器發送網頁主資源下載請求。
[0106]解析模塊701,用于接收代理服務器針對所述網頁主資源下載請求返回的應答包,對該應答包進行解析,當從應答包中解析出網頁子資源的URL地址信息時,根據解析出的URL地址信息發送網頁子資源下載請求,并繼續從應答包中解析出網頁主資源,其中,所述應答包中攜帶有需要等待的網頁子資源的URL地址信息和網頁主資源,網頁子資源的URL地址信息在應答包中位于網頁主資源的前面;其中,所述需要等待的網頁子資源,是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源。
[0107]圖8是本發明提供的網頁資源下載的代理服務器的第一結構圖。
[0108]如圖8所示,該代理服務器包括解析模塊801和網絡模塊802。
[0109]網絡模塊802,用于接收客戶端發來的下載請求,根據解析模塊解析出的每個網頁子資源的下載信息分別向資源服務器發送下載請求,將下載的網頁子資源發回給所述客戶端。
[0110]解析模塊801,用于從客戶端發來的下載請求中解析出一個以上的網頁子資源的下載信息時,將每個網頁子資源的下載信息發給網絡模塊802。
[0111]網絡模塊802,還用于將所述網絡模塊下載的兩個以上的網頁子資源打包在一個
應答包中發給客戶端。
[0112]圖9是本發明提供的網頁資源下載的代理服務器的第二結構圖。
[0113]如圖9所示,該代理服務器包括解析模塊901和網絡模塊902。
[0114]網絡模塊902,用于接收客戶端發來的網頁主資源下載請求,下載網頁主資源,將網頁主資源和從網頁主資源中解析出的需要等待的網頁子資源的URL地址信息打包在一個應答包中發給所述客戶端。
[0115]解析模塊901,用于從網絡模塊902下載的網頁主資源中解析出需要等待的網頁子資源的URL地址信息,其中,所述需要等待的網頁子資源,是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源。
【權利要求】
1.一種網頁資源下載方法,其特征在于,該方法包括: 客戶端下載網頁主資源,對下載的網頁主資源進行解析,將解析到的網頁子資源的下載信息加入到等待發送隊列中,在等待發送隊列中的網頁子資源個數達到預設值或等待發送隊列的等待時間達到預設值時,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,將該一個下載請求發給代理服務器; 代理服務器從該一個下載請求中解析出一個以上的網頁子資源的下載信息,根據解析出的每個網頁子資源的下載信息分別發送下載請求,將下載的網頁子資源返回給所述客戶端。
2.根據權利要求1所述的方法,其特征在于,將解析到的網頁子資源的下載信息加入到等待發送隊列中,在等待發送隊列中的網頁子資源個數達到預設值或等待發送隊列的等待時間達到預設值時,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中包括: 判斷解析到的網頁子資源當前是否正在下載,如果沒有正在下載,則將該網頁子資源的下載信息加入到等待發送隊列中,判斷等待發送隊列中的網頁子資源個數是否達到預設值,如果是,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,否貝U,判斷等待發送隊列的等待時間是否達到預設值,如果是,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,否則繼續保持所述等待發送隊列處于等待狀態。
3.根據權利要求1所述的方法,其特征在于,將下載的網頁子資源返回給所述客戶端包括: 將下載的兩個以上的網頁子資源打包在一個應答包中發給客戶端; 所述客戶端接收所述應答包,從所述應答包中解析出兩個以上的網頁子資源。
4.根據權利要求1所述的方法,其特征在于,客戶端下載網頁主資源包括: 客戶端向代理服務器發送網頁主資源下載請求,接收代理服務器返回的應答包,該應答包中攜帶有網頁子資源的統一資源標識符(URL)地址信息和網頁主資源,其中,網頁子資源的URL地址信息在應答包中位于網頁主資源的前面; 其中,代理服務器接收網頁主資源下載請求,下載網頁主資源,從網頁主資源中解析出需要等待的網頁子資源的URL地址信息,將需要等待的網頁子資源的URL地址信息和網頁主資源打包在一個應答包中發給所述客戶端,所述需要等待的網頁子資源是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源; 對下載的網頁主資源進行解析之前,該方法還包括: 客戶端解析該應答包,當從應答包中解析出網頁子資源的URL地址信息時,根據解析出的URL地址信息發送網頁子資源下載請求,并繼續從應答包中解析出網頁主資源。
5.根據權利要求4所述的方法,其特征在于,根據解析出的URL地址信息發送網頁子資源下載請求包括: 將兩個以上的網頁子資源的URL地址信息打包在一個網頁子資源下載請求中發給代理服務器; 代理服務器從所述網頁子資源下載請求中解析出所述兩個以上的網頁子資源的URL地址信息,根據解析出的每個網頁子資源的URL地址信息分別發送網頁子資源下載請求,將下載的網頁子資源發給客戶端。
6.根據權利要求1至5任一權利要求所述的方法,其特征在于,所述打包包括: 將打包對象分別以標簽長度取值(TLV)的格式打包在數據包的包體中。
7.—種網頁資源下載方法,其特征在于,該方法包括: 代理服務器接收網頁主資源下載請求,下載網頁主資源,從網頁主資源中解析出需要等待的網頁子資源的統一資源標識符(URL)地址信息,將需要等待的網頁子資源的URL地址信息和網頁主資源打包在一個應答包中返回給客戶端,其中,網頁子資源的URL地址信息在應答包中位于網頁主資源的前面; 客戶端接收所述應答包,從所述應答包中解析出網頁子資源的URL地址信息,根據所述網頁子資源的URL地址信息發送網頁子資源下載請求,從所述應答包中解析出網頁主資源; 其中,所述需要等待的網頁子資源,是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源。
8.根據權利要求1所述的方法,其特征在于,所述發送網頁子資源下載請求包括: 將兩個以上的網頁子資源的URL地址信息打包在一個網頁子資源下載請求中發給代理服務器; 代理服務器從所述網頁子資源下載請求中解析出所述兩個以上的網頁子資源的URL地址信息,根據解析出的每個網頁子資源的URL地址信息分別發送網頁子資源下載請求,將下載的網頁子資源發給`客戶端。
9.根據權利要求7或8所述的方法,其特征在于,所述需要等待的網頁子資源包括外鏈的JavaScript腳本或CSS腳本。
10.一種網頁資源下載系統,其特征在于,該系統包括客戶端和代理服務器; 所述客戶端,用于下載網頁主資源,對下載的網頁主資源進行解析,將解析到的網頁子資源的下載信息加入到等待發送隊列中,在等待發送隊列中的網頁子資源個數達到預設值或等待發送隊列的等待時間達到預設值時,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,將該一個下載請求發給代理服務器; 所述代理服務器,用于從該一個下載請求中解析出一個以上的網頁子資源的下載信息,根據解析出的每個網頁子資源的下載信息分別發送下載請求,將下載的網頁子資源返回給所述客戶端。
11.一種網頁資源下載系統,其特征在于,該系統包括客戶端和代理服務器; 所述客戶端,用于發送網頁主資源下載請求,接收應答包,從應答包中解析出網頁子資源的URL地址信息,根據所述網頁子資源的URL地址信息發送網頁子資源下載請求,從所述應答包中解析出網頁主資源; 所述代理服務器,用于接收網頁主資源下載請求,下載網頁主資源,從網頁主資源中解析出需要等待的網頁子資源的URL地址信息,將需要等待的網頁子資源的URL地址信息和網頁主資源打包在一個應答包中返回給客戶端,其中,網頁子資源的URL地址信息在應答包中位于網頁主資源的前面; 其中,所述需要等待的網頁子資源,是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源。
12.—種客戶端,其特征在于,該客戶端包括解析模塊和網絡模塊; 所述解析模塊,用于對下載的網頁主資源進行解析,將解析到的網頁子資源的下載信息發給所述網絡模塊; 所述網絡模塊,用于將網頁子資源的下載信息加入到等待發送隊列中,在等待發送隊列中的網頁子資源個數達到預設值或等待發送隊列的等待時間達到預設值時,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,將該一個下載請求發給代理服務器,接收代理服務器返回的網頁子資源。
13.根據權利要求12所述的客戶端,其特征在于, 所述網絡模塊,用于判斷所述解析模塊解析到的網頁子資源當前是否正在下載,如果沒有正在下載,則將該網頁子資源的下載信息加入到等待發送隊列中,判斷等待發送隊列中的網頁子資源個數是否達到預設值,如果是,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,否則,判斷等待發送隊列的等待時間是否達到預設值,如果是,將等待發送隊列中的所有網頁子資源的下載信息打包在一個下載請求中,否則繼續保持所述等待發送隊列處于等待狀態。
14.根據權利要求12所述的客戶端,其特征在于, 所述網絡模塊,還用于向代理服務器發送網頁主資源下載請求; 所述解析模塊 ,還用于接收代理服務器針對所述網頁主資源下載請求返回的應答包,對該應答包進行解析,當從應答包中解析出網頁子資源的URL地址信息時,根據解析出的URL地址信息發送網頁子資源下載請求,并繼續從應答包中解析出網頁主資源,其中,所述應答包中攜帶有需要等待的網頁子資源的URL地址信息和網頁主資源,網頁子資源的URL地址信息在應答包中位于網頁主資源的前面; 其中,所述需要等待的網頁子資源,是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源。
15.根據權利要求14所述的客戶端,其特征在于, 所述網絡模塊,還用于將所述解析模塊解析出的兩個以上的網頁子資源的URL地址信息打包在一個網頁子資源下載請求中發給代理服務器。
16.根據權利要求12至15任一權利要求所述的客戶端,其特征在于, 所述網絡模塊,用于將打包對象分別以標簽長度取值(TLV)的格式打包在數據包的包體中。
17.一種客戶端,其特征在于,該客戶端包括網絡模塊和解析模塊; 所述網絡模塊,用于向代理服務器發送網頁主資源下載請求; 所述解析模塊,用于接收代理服務器針對所述網頁主資源下載請求返回的應答包,對該應答包進行解析,當從應答包中解析出網頁子資源的URL地址信息時,根據解析出的URL地址信息發送網頁子資源下載請求,并繼續從應答包中解析出網頁主資源, 其中,所述應答包中攜帶有需要等待的網頁子資源的URL地址信息和網頁主資源,網頁子資源的URL地址信息在應答包中位于網頁主資源的前面; 其中,所述需要等待的網頁子資源,是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源。
18.一種代理服務器,其特征在于,該代理服務器包括解析模塊和網絡模塊;所述網絡模塊,用于接收客戶端發來的下載請求,根據解析模塊解析出的每個網頁子資源的下載信息分別向資源服務器發送下載請求,將下載的網頁子資源發回給所述客戶端; 所述解析模塊,用于從客戶端發來的下載請求中解析出一個以上的網頁子資源的下載信息時,將每個網頁子資源的下載信息發給所述網絡模塊。
19.根據權利要求18所述的代理服務器,其特征在于, 所述網絡模塊,還用于將所述網絡模塊下載的兩個以上的網頁子資源打包在一個應答包中發給客戶端。
20.一種代理服務器,其特征在于,該代理服務器包括解析模塊和網絡模塊; 所述網絡模塊,用于接收客戶端發來的網頁主資源下載請求,下載網頁主資源,將網頁主資源和從網頁主資源中解析出的需要等待的網頁子資源的URL地址信息打包在一個應答包中發給所述客戶端; 所述解析模塊,用于從所述網絡模塊下載的網頁主資源中解析出需要等待的網頁子資源的URL地址信息; 其中,所述需要等待的網頁子資源,是在該網頁子資源下載并解析和執行成功后才能繼續解析網頁主資源的網頁子資源。
【文檔編號】G06F17/30GK103685381SQ201210336252
【公開日】2014年3月26日 申請日期:2012年9月12日 優先權日:2012年9月12日
【發明者】沈錦龍, 劉杉, 林燕描, 羅坤 申請人:騰訊科技(深圳)有限公司