專利名稱:進行網(wǎng)頁下載的方法及瀏覽器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別地是涉及一種進行網(wǎng)頁下載的方法及其瀏覽器。
背景技術(shù):
出現(xiàn)在下文中的縮寫定義如下DNS:域名系統(tǒng)HTML:超文本標(biāo)記語言HTTP:超文件傳輸協(xié)議MIME:多用途互聯(lián)網(wǎng)郵件擴展FTP:文件傳輸協(xié)議URL:統(tǒng)一資源定位符網(wǎng)頁瀏覽器是指可以顯示網(wǎng)頁服務(wù)器或者文件系統(tǒng)的HTML文件內(nèi)容,并讓用戶與這些文件交互的一種軟件。網(wǎng)頁瀏覽器主要通過HTTP協(xié)議與網(wǎng)頁服務(wù)器交互并獲取網(wǎng)頁,這些網(wǎng)頁由URL指定,文件格式通常為HTML,并由MME在HTTP協(xié)議中指明。一個網(wǎng)頁中可以包括多個文檔,每個文檔都是分別從服務(wù)器獲取的。大部分的瀏覽器本身支持除了 HTML之外的廣泛的格式,例如JPEG、PNG、GIF等圖像格式,并且能夠擴展支持眾多的插件(plug-ins)。另外,許多瀏覽器還支持其他的URL類型及其相應(yīng)的協(xié)議,如FTP、Gopher、HTTPS (HTTP協(xié)議的加密版本)。HTTP內(nèi)容類型和URL協(xié)議規(guī)范允許網(wǎng)頁設(shè)計者在網(wǎng)頁中嵌入圖像、動畫、視頻、聲音、流媒體等。個人電腦上常見的網(wǎng)頁瀏覽器包括微軟的InternetExplorer、Mozilla 的 Firefox、Apple 的 Safari, 0pera>Google Chrome>GreenBrowser 瀏覽器、360安全瀏覽器、搜狗高速瀏覽器、天天瀏覽器、騰訊TT、傲游瀏覽器、百度瀏覽器、騰訊QQ瀏覽器等,瀏覽器是最經(jīng)常使用到的客戶端程序。常用的瀏覽器工作原理如圖I所示,圖I為現(xiàn)有技術(shù)中網(wǎng)絡(luò)瀏覽器的工作原理(I)瀏覽器分析超鏈接指向的頁面的URL (如清華大學(xué)的網(wǎng)址www. tsinghua. edu. cn(2)瀏覽器向DNS請求解析該URL的服務(wù)器ip地址(3) DNS解析出URL (清華大學(xué)服務(wù)器)的ip地址(4)瀏覽器與服務(wù)器建立TCP連接(5)瀏覽器發(fā)出讀取文件的請求GET/chn/yxsz/index. htm(6)服務(wù)器響應(yīng)瀏覽器的讀取文件的請求,把網(wǎng)頁的首頁面文件index, htm發(fā)給瀏覽器(7)釋放TCP連接(8)瀏覽器顯示首頁面文件index, htm的所有文本在上述步驟5中發(fā)出的發(fā)出讀取文件命令GET/chn/yxsz/index. htm時,會從服務(wù)器獲取該index, htm的資源,其中所述下載的資源包括html、JS、CSS、bmp、icon等等用于在瀏覽器的渲染引擎中進行加載顯示的資源。而對于上述的各種請求下載的資源在網(wǎng)頁中的下載順序,目前是按照下載網(wǎng)頁的從上至下,按照顯示的幀中的內(nèi)容進行下載的。IE的內(nèi)核目前實現(xiàn)了一些下載資源先后順序的優(yōu)化,但是還是沒有在瀏覽器側(cè)中的優(yōu)化方案。但是低版本的IE,例如IE6/7中的下載順序并不優(yōu)化。另外在手機瀏覽器中,由于手機的帶寬更加有限,所以對其資源下載的高效率是有要求的。本領(lǐng)域的一個現(xiàn)有技術(shù)(CN102591877)公開一種嵌入式瀏覽器網(wǎng)頁資源請求方法。此方法中將網(wǎng)絡(luò)資源分為主資源(例如html文本、JS、圖片、CSS)和子資源(例如主網(wǎng)頁以外的廣告等彈出的界面內(nèi)容),子資源包括必須子資源和非必須子資源兩類。當(dāng)瀏覽器發(fā)出網(wǎng)址信息請求,解析其對應(yīng)的主資源,,當(dāng)網(wǎng)絡(luò)狀況不好時,請求下載所述主資源對應(yīng)的子資源中的必須子資源;在獲取子資源時若網(wǎng)絡(luò)狀況差,則只獲取必須子資源然后進行布局顯示,不會出現(xiàn)由于非必須子資源不能完全獲取而不顯示網(wǎng)頁的情況,提高了用戶體驗。但是,此發(fā)明對資源下載的順序界定為主資源和子資源,而子資源僅僅限定是主網(wǎng)頁以外的廣告等彈出的界面內(nèi)容,對于主資源中的網(wǎng)頁元素(例如html文本、JS、圖片、CSS)等資源的下載效率還有待于進一步的提聞。
發(fā)明內(nèi)容
針對上述現(xiàn)有技術(shù)的缺陷,本發(fā)明的技術(shù)方案要解決的技術(shù)問題是提供一種進行網(wǎng)頁下載的方法及其瀏覽器,以提高網(wǎng)頁資源的下載效率。。依據(jù)本發(fā)明的一個方面,提供了一種進行網(wǎng)頁下載的方法,包括在頁面加載中發(fā)起對頁面中的網(wǎng)頁資源的下載請求;攔截所述網(wǎng)頁資源的下載請求,并依據(jù)所述網(wǎng)頁資源的下載請求中的網(wǎng)頁資源的類別所對應(yīng)的優(yōu)先級列表所生成的下載優(yōu)先級,形成下載請求隊列;在所述下載請求隊列中依據(jù)所述下載優(yōu)先級對不同類別的網(wǎng)頁資源進行下載??蛇x地,所述網(wǎng)頁資源的下載請求為http下載請求;所述攔截所述網(wǎng)頁資源的下載請求步驟包括攔截所述網(wǎng)頁資源的http下載請求,其中所述http下載請求被鉤子函數(shù)所攔截,并將所述http下載請求中所有的資源請求設(shè)置為請求發(fā)送狀態(tài)??蛇x地,通過調(diào)用windows的API函數(shù)增加http網(wǎng)絡(luò)連接的數(shù)量??蛇x地,所述網(wǎng)頁資源的類別,是根據(jù)所述http下載請求中的網(wǎng)頁資源的URL獲知;則所述網(wǎng)頁資源的類別至少包括網(wǎng)頁、腳本、圖片、圖標(biāo)或級聯(lián)樣式表??蛇x地,所述下載優(yōu)先級,是根據(jù)在瀏覽器側(cè)基于不同類別的網(wǎng)頁資源而設(shè)置的不同下載優(yōu)先級所建立的優(yōu)先級列表而生成;則所述依據(jù)網(wǎng)頁資源的下載請求中的網(wǎng)頁資源的類別所對應(yīng)的下載優(yōu)先級形成下載請求隊列,包括所述網(wǎng)頁資源的URL根據(jù)所述優(yōu)先級列表生成請求項目,所述請求項目至少包括URL以及所述URL對應(yīng)的優(yōu)先級;所述請求項目根據(jù)所述優(yōu)先級生成所述下載請求隊列??蛇x地,所述在下載請求隊列中依據(jù)所述下載優(yōu)先級對不同類別的網(wǎng)頁資源進行下載步驟包括在所述下載請求隊列中依據(jù)所述優(yōu)先級處理以生成放行信號,對被放行的網(wǎng)絡(luò)資源進行下載??蛇x地,所述請求項目的等待時間達到預(yù)設(shè)的時間閾值時,瀏覽器側(cè)將對其發(fā)出放行信號,優(yōu)先處理??蛇x地,當(dāng)所述下載請求隊列中請求的所有網(wǎng)絡(luò)資源都下載之后,銷毀所述下載請求隊列中所有的請求項目??蛇x地,所述優(yōu)先級列表在發(fā)起所述http下載請求時動態(tài)確定,并且所述優(yōu)先級列表中網(wǎng)頁資源下載優(yōu)先權(quán)設(shè)置是根據(jù)所述被加載網(wǎng)頁的類別而被動態(tài)改變。可選地,所述優(yōu)先級列表由服務(wù)器向瀏覽器側(cè)推送。可選地,所述優(yōu)先級列表保存在瀏覽器側(cè),并根據(jù)瀏覽器用戶的瀏覽習(xí)慣進行更新。可選地,所述優(yōu)先級列表與瀏覽器用戶綁定,并作為瀏覽器用戶信息的一部分同步上傳到對應(yīng)的服務(wù)器側(cè)。依據(jù)本發(fā)明的另一個方面,提供了一種進行網(wǎng)頁下載的瀏覽器,包括通信模塊, 其適配為在頁面加載中發(fā)起對頁面中的網(wǎng)頁資源的下載請求;攔截模塊,其適配為攔截所述網(wǎng)頁資源的下載請求,并依據(jù)所述網(wǎng)頁資源的下載請求中的網(wǎng)頁資源的類別所對應(yīng)的優(yōu)先級列表所生成的下載優(yōu)先級,形成下載請求隊列;請求執(zhí)行模塊,其適配為在所述下載請求隊列中依據(jù)所述下載優(yōu)先級對不同類別的網(wǎng)頁資源進行下載??蛇x地,所述網(wǎng)頁資源的下載請求為http下載請求;所述攔截模塊,其適配為攔截所述網(wǎng)頁資源的http下載請求,所述http下載請求被鉤子函數(shù)所攔截,并將所述http下載請求中所有的資源請求設(shè)置為請求發(fā)送狀態(tài)。可選地,所述通信模塊通過調(diào)用windows的API函數(shù)增加http網(wǎng)絡(luò)連接的數(shù)量??蛇x地,所述攔截模塊根據(jù)所述http下載請求中的網(wǎng)頁資源的URL獲知所述網(wǎng)頁資源的類別,所述網(wǎng)頁資源的類別至少包括網(wǎng)頁、腳本、圖片、圖標(biāo)或級聯(lián)樣式表??蛇x地,所述攔截模塊進一步包括生成模塊,該生成模塊適配為根據(jù)瀏覽器側(cè)基于不同類別的網(wǎng)頁資源而設(shè)置的不同下載優(yōu)先級所建立的優(yōu)先級列表而生成所述優(yōu)先級,且所述生成模塊將所述網(wǎng)頁資源的URL根據(jù)所述優(yōu)先級列表生成請求項目,所述請求項目至少包括URL以及所述URL對應(yīng)的優(yōu)先級;所述請求項目根據(jù)所述優(yōu)先級由所述生成模塊生成所述下載請求隊列??蛇x地,所述請求執(zhí)行模塊依據(jù)所述下載請求隊列中所述請求項目的優(yōu)先級進行處理以生成放行信號,對被放行的網(wǎng)絡(luò)資源進行下載??蛇x地,所述請求項目的等待時間達到預(yù)設(shè)的時間閾值時,所述請求執(zhí)行模塊對其發(fā)出放行信號,優(yōu)先處理??蛇x地,當(dāng)所述下載請求隊列中請求的所有網(wǎng)絡(luò)資源都下載之后,所述請求執(zhí)行模塊銷毀所述下載請求隊列中所有的請求項目??蛇x地,所述優(yōu)先級列表在發(fā)起所述http下載請求時動態(tài)確定,并且所述優(yōu)先級列表中網(wǎng)頁資源下載優(yōu)先權(quán)設(shè)置是根據(jù)所述被加載網(wǎng)頁的類別而被動態(tài)改變??蛇x地,所述優(yōu)先級列表由服務(wù)器向所述瀏覽器推送。可選地,所述優(yōu)先級列表保存在所述瀏覽器端,并根據(jù)瀏覽器用戶的瀏覽習(xí)慣進行更新??蛇x地,所述優(yōu)先級列表與瀏覽器用戶綁定,并作為瀏覽器用戶信息的一部分同步上傳到對應(yīng)的服務(wù)器側(cè)。本發(fā)明的技術(shù)方案,由于攔截所述網(wǎng)頁資源的下載請求,并依據(jù)所述網(wǎng)頁資源的下載請求中的網(wǎng)頁資源的類別所對應(yīng)的下載優(yōu)先級形成下載請求隊列;在所述下載請求隊列中依據(jù)所述下載優(yōu)先級對不同類別的網(wǎng)頁資源進行下載,這樣就能夠改變低版本的IE瀏覽器的資源下載的順序,提高了資源下載的效率,更好的支持了對于低版本IE中的資源下載效率(因為有的時候,特定的URL需要使用低版本的IE內(nèi)核進行渲染),并且對于不同網(wǎng)頁在下載的先后順序上進行不同處理,效率更加有針對性,更加符合用戶的使用習(xí)慣,和用戶的粘性更加高。
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖圖I為現(xiàn)有技術(shù)中網(wǎng)絡(luò)瀏覽器的工作原理;圖2為本發(fā)明一具體實施方式
的系統(tǒng)工作流程圖;圖3為本發(fā)明一具體實施方式
中的請求項目的優(yōu)先級列表示意圖;圖4為本發(fā)明一具體實施方式
的瀏覽器中實現(xiàn)網(wǎng)頁下載的系統(tǒng)結(jié)構(gòu)框圖;圖5為本發(fā)明一具體實施方式
的瀏覽器IE6/7瀏覽器優(yōu)化頁面資源加載順序的實施原理圖。
具體實施例方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。本發(fā)明具體實施方式
以IE6/IE7瀏覽器作為實例?,F(xiàn)有的IE6/7瀏覽器對頁面加載的順序沒有進行優(yōu)化,按照頁面的顯示順序加載頁面資源。圖2為本發(fā)明具體實施方式
的系統(tǒng)工作流程圖,圖4為本發(fā)明具體實施方式
的瀏覽器中實現(xiàn)網(wǎng)頁下載的系統(tǒng)結(jié)構(gòu)框圖。結(jié)合圖2和圖4描述本發(fā)明的一個具體實施方式
。步驟S201中,瀏覽器在頁面加載中發(fā)起對頁面中的網(wǎng)頁資源的下載請求,比如,該網(wǎng)頁資源下載請求為http下載請求,接收資源下載的http請求。并且,由于在后續(xù)步驟S202、S203,攔截和分析等操作,會導(dǎo)致許多http請求被hook鉤子函數(shù)攔截,如其子程序internetcalIbackFunc O函數(shù),這樣,容易使對網(wǎng)頁資源的請求過程被阻塞,需要對系統(tǒng)的網(wǎng)絡(luò)連接的數(shù)量進行調(diào)解,如將可以建立的http鏈接的數(shù)量先增大,以免導(dǎo)致網(wǎng)絡(luò)資源請求阻塞。系統(tǒng)的網(wǎng)絡(luò)連接的數(shù)目可以通過調(diào)用windows系統(tǒng)中的API函數(shù)來改變網(wǎng)絡(luò)連接數(shù)目connect num。通信模塊401可以適配為執(zhí)行步驟S201的操作。步驟S202中,攔截所述網(wǎng)頁資源的下載請求,如攔截所述網(wǎng)頁資源的http下載請求,其中所述http下載請求被鉤子函數(shù)所攔截,并將所述http下載請求中所有的資源請求設(shè)置為請求發(fā)送狀態(tài)。具體例如在瀏覽器端運行一個鉤子函數(shù)(hookfunction)。鉤子(Hook)是一種回調(diào)函數(shù),也可以說是系統(tǒng)提供的一種機制,可以在信息到達其他進程之前將信息攔截和處理。(在此實例中此鉤子程序名為internetcalIbackFunc O函數(shù))。此hook函數(shù)把瀏覽器發(fā)出的http請求攔截住,使其處于請求發(fā)出狀態(tài)(sendingrequest)。步驟S203中,在瀏覽器端對http資源請求進行分析,如其中的URL進行分析。URL中帶有被請求的網(wǎng)頁資源的連接,根據(jù)此URL就可以獲知要加載的網(wǎng)頁資源的類別,該網(wǎng)絡(luò)資源的類別至少包括網(wǎng)頁html、級聯(lián)樣式表css、腳本js、圖片bmp、圖標(biāo)icon等等。如,對于“sendingrequest”,URL狀態(tài)中就帶有被請求的網(wǎng)頁資源的鏈接,網(wǎng)頁資源的類別就是根據(jù)所述http下載請求中的的網(wǎng)頁資源的URL獲知。步驟S204中,在得到網(wǎng)絡(luò)資源的類別后,瀏覽器根據(jù)各種不同的資源,設(shè)置不同的下載優(yōu)先級別,并建立一個優(yōu)先級列表。例如,基于URL類別針對被請求的資源設(shè)置優(yōu)先級生成優(yōu)先級列表。該下載優(yōu)先級,是根據(jù)在瀏覽器側(cè)基于不同類別的網(wǎng)頁資源而設(shè)置的不同下載優(yōu)先級所建立的優(yōu)先級列表而生成。步驟S205,確定http請求中的URL的資源類別后,根據(jù)該優(yōu)先級列表查找對應(yīng)資源的優(yōu)先級,并建立一個請求項目(requestitem),生成請求項目列表。該請求項目中至少包括兩個項目,URL類別和優(yōu)先級。如圖3本發(fā)明具體實施方式
中的請求項目的優(yōu)先級列表示意圖,其中請求項目中的文本資源html的優(yōu)先級為9,css資源的優(yōu)先級為8,Js資源的優(yōu)先級別為5,等等。步驟S206,對于請求項目中的各種類別的網(wǎng)絡(luò)資源,瀏覽器端在攔截網(wǎng)頁資源的下載請求時,依據(jù)所述網(wǎng)頁資源的下載請求中的網(wǎng)頁資源的類別所對應(yīng)的優(yōu)先級列表所生成的下載優(yōu)先級形成下載請求隊列,將各種不同優(yōu)先級的資源放入隊列中,瀏覽器根據(jù)各資源的優(yōu)先級依次進行處理。生成模塊4021適配為執(zhí)行步驟S204至S206的操作。由步驟S203至S206,可以看到依據(jù)網(wǎng)頁資源的下載請求中的網(wǎng)頁資源的類別所對應(yīng)的優(yōu)先級列表所生成的下載優(yōu)先級形成下載請求隊列的一個示例所述網(wǎng)頁資源的URL根據(jù)所述優(yōu)先級列表生成請求項目,所述請求項目至少包括URL以及所述URL對應(yīng)的優(yōu)先級;進而所述請求項目根據(jù)所述優(yōu)先級生成所述下載請求隊列。攔截模塊402可以適配為執(zhí)行步驟S202至S206的攔截并形成下載請求隊列的一系列操作。另外,攔截模塊402執(zhí)行的攔截和形成下載請求隊列的一系列操作中的優(yōu)先級列表在發(fā)起該http下載請求時動態(tài)確定,并且,該優(yōu)先級列表中網(wǎng)頁資源下載優(yōu)先權(quán)設(shè)置是根據(jù)該被加載網(wǎng)頁的類別(如步驟S203中分析出的網(wǎng)頁的類別)而動態(tài)改變。該優(yōu)先級列表由服務(wù)器向瀏覽器推送。優(yōu)先級列表被保存在瀏覽器側(cè),能根據(jù)瀏覽器用戶的瀏覽習(xí)慣進行更新。優(yōu)先級列表也能與瀏覽器用戶綁定,作為瀏覽器用戶信息的一部分同步上傳到對應(yīng)的服務(wù)器側(cè)。具體的,該優(yōu)先級列表的形成和定義可以通過多種方式進行,包括以下幾種方式(1)對于不同的網(wǎng)頁(或者不同類別的網(wǎng)頁)其對應(yīng)的優(yōu)先級列表是不一樣的,例如視頻相關(guān)網(wǎng)頁其中的視頻插件類別的優(yōu)先權(quán)更高;文本類別的網(wǎng)頁,其視頻相關(guān)插件的優(yōu)先權(quán)肯定不能高;網(wǎng)頁的具體分類可以從URL進行分析來進行分類,或者是使用白名單進行分類,在網(wǎng)頁加載請求時就可以判定其類別后,動態(tài)確定優(yōu)先權(quán)表。(2)所述優(yōu)先級列表是可以在服務(wù)器端進行推送到客戶端進行實時的更新的,不一定限于瀏覽器側(cè)保存的優(yōu)先級列表;(3)對于用戶的使用瀏覽習(xí)慣,可以判定出用戶的使用習(xí)慣,從而判斷其屬于那一類的用戶(依據(jù)用戶的瀏覽歷史習(xí)慣進行判斷或者收藏的歷史記錄),然后在瀏覽器本地進行上述優(yōu)先級列表的自動調(diào)整;(4)該優(yōu)先級列表可以是和用戶綁定的,是可以作為用戶信息的一部分進行同步上傳的。步驟S207,在下載請求隊列中依據(jù)該下載優(yōu)先級對不同類別的網(wǎng)頁資源進行下載,其中,對隊列中要處理的資源生成放行信號(即對隊列中排到的請求發(fā)出放行信號),也就是說,此資源的狀態(tài)變?yōu)橐寻l(fā)送狀態(tài)(sentrequest)。具體比如在該下載請求隊列中依據(jù)該優(yōu)先級處理以生成放行信號,對被放行的網(wǎng)絡(luò)資源進行下載。為了防止請求項目中的網(wǎng)絡(luò)資源由于等待時間過長而被拋棄,對于請求項目中的資源請求,如果其等待時間達到預(yù)設(shè)的時間閾值時,無論其優(yōu)先級別是否達到,即對其進行強行處理,對其發(fā)出放行信號,其狀態(tài)變?yōu)橐寻l(fā)送狀態(tài)。步驟S208,發(fā)送到服務(wù)器端進行處理。步驟S209,判斷當(dāng)前放行的請求是否是隊列中最后一個資源請求。如果不是最后一個請求。返回步驟S207,對隊列中下一個請求進行處理。如果是最后一個資源請求,步驟S210在已放行的請求項目中的各種等待資源下載結(jié)束以后,瀏覽器會對所生成的請求隊列發(fā)出指令,銷毀所有的請求項目,即下載請求隊列中的所有網(wǎng)絡(luò)資源都下載后,銷毀下載請求隊列中的所有的請求項目,以釋放系統(tǒng)資源。請求執(zhí)行模塊403可以適配為執(zhí)行步驟S207至S210的操作。圖4是本發(fā)明一具體實施方式
的瀏覽器中實現(xiàn)網(wǎng)頁下載的系統(tǒng)結(jié)構(gòu)框圖。本發(fā)明實施方式的瀏覽器中實現(xiàn)網(wǎng)頁下載的系統(tǒng)至少包括,一個通信模塊401,其適配為在頁面加載中發(fā)起對頁面中的網(wǎng)頁資源的下載請求;攔截模塊402,其適配為攔截所述網(wǎng)頁資源的下載請求,并依據(jù)網(wǎng)頁資源的下載請求中的網(wǎng)頁資源的類別所對應(yīng)的優(yōu)先級列表所生成的下載優(yōu)先級,形成下載請求隊列;請求執(zhí)行模塊403,其適配為在下載請求隊列中依據(jù)網(wǎng)絡(luò)資源的下載優(yōu)先級對不同類別的網(wǎng)頁資源進行下載。對于現(xiàn)有瀏覽器中和本發(fā)明的構(gòu)思不是直接相關(guān)的組件或者模塊,出于簡要說明的目的都未示出,這一點本領(lǐng)域的技術(shù)人員應(yīng)該意識得到。在瀏覽器發(fā)出網(wǎng)頁資源的下載請求的http下載請求后,攔截模塊402,http下載請求,并將http下載請求中所有的資源請求設(shè)置為請求發(fā)送狀態(tài)。進一步,攔截模塊402中還包含一個生成模塊4021,其為根據(jù)瀏覽器側(cè)基于不同類別的網(wǎng)頁資源而設(shè)置的不同下載優(yōu)先級所建立的優(yōu)先級列表而生成網(wǎng)絡(luò)資源的優(yōu)先級;并將網(wǎng)頁資源的URL根據(jù)優(yōu)先級列表生成請求項目,請求項目至少包括URL以及所述URL對應(yīng)的優(yōu)先級。請求執(zhí)行模塊403依據(jù)所述下載請求隊列中所述請求項目的優(yōu)先級進行處理以生成放行信號,對被放行的網(wǎng)絡(luò)資源進行下載。或者,當(dāng)請求項目的等待時間達到預(yù)設(shè)的時間閾值時,請求執(zhí)行模塊403對其發(fā)出放行信號,優(yōu)先處理。當(dāng)下載請求隊列中請求的所有網(wǎng)絡(luò)資源都下載之后,請求執(zhí)行模塊403銷毀所述下載請求隊列中所有的請求項目。
圖5為瀏覽器IE6/7瀏覽器優(yōu)化頁面資源加載順序的實施原理圖。其中瀏覽器通過例如http協(xié)議,加載導(dǎo)航網(wǎng)頁501,需要向服務(wù)器下載網(wǎng)頁資源,即發(fā)出http下載請求。為了優(yōu)化下載順序以提高下載效率,將通過hook鉤子回調(diào),攔截該http下載請求,hook鉤子采用internetcalIbackFunc O回調(diào)函數(shù),并將該被攔截的請求處于請求發(fā)出狀態(tài)sendingrequest。http下載請求中包含了各種信息,尤其是有要下載的各種類別的網(wǎng)頁資源的信息,如html、CSS、……。瀏覽器根據(jù)網(wǎng)頁資源的URL獲得網(wǎng)頁資源的類別503,并向DNS請求解析該URL的服務(wù)器ip地址,解析出名字并請求建立連接,當(dāng)解析出URL的ip地址后與能提供下載資源的服務(wù)器502建立連接。鉤子函數(shù)回調(diào)(攔截)后按照網(wǎng)頁資源的類別503的優(yōu)先級505 (通常動態(tài)確定,月艮務(wù)器可以推送初始的優(yōu)先級給瀏覽器)形成的優(yōu)先級列表,生成請求項目,該請求項目包含URL和其對應(yīng)的優(yōu)先級信息,由請求項目的優(yōu)先級生成下載優(yōu)先級,最終形成下載優(yōu)先級隊列(后面將依據(jù)下載優(yōu)先級對不同類別的網(wǎng)頁資源進行下載)?;卣{(diào)后,http請求將等待,直到獲得下載優(yōu)先級隊列的放行信號。并且,通過API函數(shù)來改變網(wǎng)絡(luò)連接數(shù)目connectnum506。擴大的網(wǎng)絡(luò)連接數(shù)目避免了阻塞,保證了通常,并依據(jù)優(yōu)先級調(diào)度504請求項目以進行下載。等待直到獲得放行信號期間,若超過預(yù)設(shè)時間閾值,即設(shè)置的最長等待時間,則強制給予放行信號,提前發(fā)送,發(fā)送后的請求將處于已發(fā)出狀態(tài)sentrequest。通過調(diào)度請求項目,對每個下載請求依順序發(fā)送到服務(wù)器執(zhí)行下載507。本發(fā)明的具體實施方式
是以http協(xié)議為例,但對于其他支持URL類型及其相應(yīng)的協(xié)議,如FTP、Gopher、HTTPS (HTTP協(xié)議的加密版本)本發(fā)明同樣適用。而且,對于現(xiàn)有的各種網(wǎng)絡(luò)瀏覽器,比如微軟的 Internet Explorer、Mozilla 的 Firefox、Apple 的 Safari,Opera、Google Chrome> GreenBrowser瀏覽器、360安全瀏覽器、搜狗高速瀏覽器、天天瀏覽器、騰訊TT、傲游瀏覽器、百度瀏覽器、騰訊QQ瀏覽器等,本發(fā)明的方法同樣適用。由于移動通訊終端的帶寬有限,本發(fā)明提出的方法對于提高移動通訊終端的網(wǎng)頁資源下載效率尤其有效。在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。類似地,應(yīng)當(dā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)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP )來實現(xiàn)根據(jù)本發(fā)明實施例的設(shè)備中的一些或者全部部件的一些或者全部功能。本發(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ā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。本文公開了 Al、一種進行網(wǎng)頁下載的方法,包括在頁面加載中發(fā)起對頁面中的網(wǎng)頁資源的下載請求;攔截所述網(wǎng)頁資源的下載請求,并依據(jù)所述網(wǎng)頁資源的下載請求中的網(wǎng)頁資源的類別所對應(yīng)的下載優(yōu)先級形成下載請求隊列;在所述下載請求隊列中依據(jù)所述下載優(yōu)先級對不同類別的網(wǎng)頁資源進行下載。A2、如Al所述的方法,其特征在于,所述網(wǎng)頁資源的下載請求為http下載請求;則所述攔截所述網(wǎng)頁資源的下載請求步驟包括攔截所述網(wǎng)頁資源的http下載請求,其中所述http下載請求被鉤子函數(shù)所攔截,并將所述http下載請求中所有的資源請求設(shè)置為請求發(fā)送狀態(tài)。A3、如A2所述的方法,其特征在于,進一步包括通過調(diào)用windows的API函數(shù)增加http網(wǎng)絡(luò)連接的數(shù)量。A4、如A2所述的方法,其特征在于,所述網(wǎng)頁資源的類別是根據(jù)所述http下載請求中的網(wǎng)頁資源的URL獲知;則所述網(wǎng)頁資源的類別至少包括網(wǎng)頁、腳本、圖片、圖標(biāo)或級聯(lián)樣式表。A5、如A4所述的方法,其特征在于,所述下載優(yōu)先級是根據(jù)在瀏覽器側(cè)基于不同類別的網(wǎng)頁資源而設(shè)置的不同下載優(yōu)先級所建立的優(yōu)先級列表而生成;則所述依據(jù)網(wǎng)頁資源的下載請求中的網(wǎng)頁資源的類別所對應(yīng)的下載優(yōu)先級形成下載請求隊列,包括所述網(wǎng)頁資源的URL根據(jù)所述優(yōu)先級列表生成請求項目,所述請求項目至少包括URL以及所述URL對應(yīng)的優(yōu)先級;所述請求項目根據(jù)所述優(yōu)先級生成所述下載請求隊列。A6、如A5所述的方法,其特征在于,所述在下載請求隊列中依據(jù)所述下載優(yōu)先級對不同類別的網(wǎng)頁資源進行下載步驟包括在所述下載請求隊列中依據(jù)所述優(yōu)先級處理以生成放行信號,對被放行的網(wǎng)絡(luò)資源進行下載。A7、如A5所述的方法,其特征在于,進一步包括所述請求項目的等待時間達到預(yù)設(shè)的時間閾值時,瀏覽器側(cè)將對其發(fā)出放行信號,優(yōu)先處理。AS、如A5所述的方法,其特征在于,進一步包括當(dāng)所述下載請求隊列中請求的所有網(wǎng)絡(luò)資源都下載之后,銷毀所述下載請求隊列中所有的請求項目。A9、如A4所述的方法,其特征在于,所述下載優(yōu)先級由所述網(wǎng)頁資源的類別的優(yōu)先級形成的優(yōu)先級列表確定。A10、如A9所述的方法,其特征在于,所述優(yōu)先級列表在發(fā)起所述http下載請求時動態(tài)確定,并且所述優(yōu)先級列表中網(wǎng)頁資源下載優(yōu)先權(quán)設(shè)置是根據(jù)所述被加載網(wǎng)頁的類別而被動態(tài)改變。AU、如AlO所述的方法,其特征在于,所述優(yōu)先級列表由
服務(wù)器向瀏覽器側(cè)推送。A12、如All所述的方法,其特征在于,所述優(yōu)先級列表保存在瀏覽器側(cè),并根據(jù)瀏覽器用戶的瀏覽習(xí)慣進行更新。A13、如All所述的方法,其特征在于,所述優(yōu)先級列表與瀏覽器用戶綁定,并作為瀏覽器用戶信息的一部分同步上傳到對應(yīng)的服務(wù)器側(cè)。本文公開了 B14、一種進行網(wǎng)頁下載的瀏覽器,包括通信模塊,其適配為在頁面加載中發(fā)起對頁面中的網(wǎng)頁資源的下載請求;攔截模塊,其適配為攔截所述網(wǎng)頁資源的下載請求,并依據(jù)所述網(wǎng)頁資源的下載請求中的網(wǎng)頁資源的類別所對應(yīng)的下載優(yōu)先級,形成下載請求隊列;請求執(zhí)行模塊,其適配為在所述下載請求隊列中依據(jù)所述下載優(yōu)先級對不同類別的網(wǎng)頁資源進行下載。B15、如B14所述的瀏覽器,其特征在于,所述網(wǎng)頁資源的下載請求為http下載請求;所述攔截模塊,其適配為攔截所述網(wǎng)頁資源的http下載請求,所述http下載請求被鉤子函數(shù)所攔截,并將所述http下載請求中所有的資源請求設(shè)置為請求發(fā)送狀態(tài)。Β16^Π B15所述的瀏覽器,其特征在于,進一步包括所述通信模塊通過調(diào)用windows的API函數(shù)增加http網(wǎng)絡(luò)連接的數(shù)量。B17、如B15所述的瀏覽器,其特征在于,所述攔截模塊根據(jù)所述http下載請求中的網(wǎng)頁資源的URL獲知所述網(wǎng)頁資源的類別,所述網(wǎng)頁資源的類別至少包括網(wǎng)頁、腳本、圖片、圖標(biāo)或級聯(lián)樣式表。B18、如B17所述的瀏覽器,其特征在于,所述攔截模塊進一步包括生成模塊,其適配為根據(jù)瀏覽器側(cè)基于不同類別的網(wǎng)頁資源而設(shè)置的不同下載優(yōu)先級所建立的優(yōu)先級列表而生成所述優(yōu)先級;且所述生成模塊將所述網(wǎng)頁資源的URL根據(jù)所述優(yōu)先級列表生成請求項目,所述請求項目至少包括URL以及所述URL對應(yīng)的優(yōu)先級;所述請求項目根據(jù)所述優(yōu)先級由所述生成模塊生成所述下載請求隊列。B19、如B18所述的瀏覽器,其特征在于,所述請求執(zhí)行模塊依據(jù)所述下載請求隊列中所述請求項目的優(yōu)先級進行處理以生成放行信號,對被放行的網(wǎng)絡(luò)資源進行下載。B20、如B18所述的瀏覽器,其特征在于,所述請求項目的等待時間達到預(yù)設(shè)的時間閾值時,所述請求執(zhí)行模塊對其發(fā)出放行信號,優(yōu)先處理。B21、如B18所述的瀏覽器,其特征在于,當(dāng)所述下載請求隊列中請求的所有網(wǎng)絡(luò)資源都下載之后,所述請求執(zhí)行模塊銷毀所述下載請求隊列中所有的請求項目。B22、如B17所述的瀏覽器,其特征在于,所述下載優(yōu)先級由所述網(wǎng)頁資源的類別的優(yōu)先級形成的優(yōu)先級列表確定。B23、如B22所述的瀏覽器,其特征在于,所述優(yōu)先級列表在發(fā)起所述http下載請求時動態(tài)確定,并且所述優(yōu)先級列表中網(wǎng)頁資源下載優(yōu)先權(quán)設(shè)置是根據(jù)所述被加載網(wǎng)頁的類別而被動態(tài)改變。B24、如B23所述的瀏覽器,其特征在于,所述優(yōu)先級列表由服務(wù)器向所述瀏覽器推送。B25、如B24所述的瀏覽器,其特征在于,所述優(yōu)先級列表保存在所述瀏覽器端,并根據(jù)瀏覽器用戶的瀏覽習(xí)慣進行更新。B26、如B24所述的瀏覽器,其特征在于,所述優(yōu)先級列表與瀏覽器用戶綁定,并作為瀏 覽器用戶信息的一部分同步上傳到對應(yīng)的服務(wù)器側(cè)。
權(quán)利要求
1.一種進行網(wǎng)頁下載的方法,包括 在頁面加載中發(fā)起對頁面中的網(wǎng)頁資源的下載請求; 攔截所述網(wǎng)頁資源的下載請求,并依據(jù)所述網(wǎng)頁資源的下載請求中的網(wǎng)頁資源的類別所對應(yīng)的下載優(yōu)先級形成下載請求隊列;在所述下載請求隊列中依據(jù)所述下載優(yōu)先級對不同類別的網(wǎng)頁資源進行下載。
2.如權(quán)利要求I所述的方法,其特征在于,所述網(wǎng)頁資源的下載請求為http下載請求;則 所述攔截所述網(wǎng)頁資源的下載請求步驟包括 攔截所述網(wǎng)頁資源的http下載請求,其中所述http下載請求被鉤子函數(shù)所攔截,并將所述http下載請求中所有的資源請求設(shè)置為請求發(fā)送狀態(tài)。
3.如權(quán)利要求2所述的方法,其特征在于,進一步包括 通過調(diào)用windows的API函數(shù)增加http網(wǎng)絡(luò)連接的數(shù)量。
4.如權(quán)利要求2所述的方法,其特征在于,所述網(wǎng)頁資源的類別是根據(jù)所述http下載請求中的網(wǎng)頁資源的URL獲知; 則所述網(wǎng)頁資源的類別至少包括網(wǎng)頁、腳本、圖片、圖標(biāo)或級聯(lián)樣式表。
5.如權(quán)利要求4所述的方法,其特征在于,所述下載優(yōu)先級是根據(jù)在瀏覽器側(cè)基于不同類別的網(wǎng)頁資源而設(shè)置的不同下載優(yōu)先級所建立的優(yōu)先級列表而生成;則 所述依據(jù)網(wǎng)頁資源的下載請求中的網(wǎng)頁資源的類別所對應(yīng)的下載優(yōu)先級形成下載請求隊列,包括 所述網(wǎng)頁資源的URL根據(jù)所述優(yōu)先級列表生成請求項目,所述請求項目至少包括URL以及所述URL對應(yīng)的優(yōu)先級; 所述請求項目根據(jù)所述優(yōu)先級生成所述下載請求隊列。
6.如權(quán)利要求5所述的方法,其特征在于,所述在下載請求隊列中依據(jù)所述下載優(yōu)先級對不同類別的網(wǎng)頁資源進行下載步驟包括 在所述下載請求隊列中依據(jù)所述優(yōu)先級處理以生成放行信號,對被放行的網(wǎng)絡(luò)資源進行下載。
7.如權(quán)利要求5所述的方法,其特征在于,進一步包括所述請求項目的等待時間達到預(yù)設(shè)的時間閾值時,瀏覽器側(cè)將對其發(fā)出放行信號,優(yōu)先處理。
8.如權(quán)利要求5所述的方法,其特征在于,進一步包括當(dāng)所述下載請求隊列中請求的所有網(wǎng)絡(luò)資源都下載之后,銷毀所述下載請求隊列中所有的請求項目。
9.如權(quán)利要求4所述的方法,其特征在于,所述下載優(yōu)先級由所述網(wǎng)頁資源的類別的優(yōu)先級形成的優(yōu)先級列表確定。
10.如權(quán)利要求9所述的方法,其特征在于,所述優(yōu)先級列表在發(fā)起所述http下載請求時動態(tài)確定,并且所述優(yōu)先級列表中網(wǎng)頁資源下載優(yōu)先權(quán)設(shè)置是根據(jù)所述被加載網(wǎng)頁的類別而被動態(tài)改變。
11.如權(quán)利要求10所述的方法,其特征在于,所述優(yōu)先級列表由服務(wù)器向瀏覽器側(cè)推送。
12.如權(quán)利要求11所述的方法,其特征在于,所述優(yōu)先級列表保存在瀏覽器側(cè),并根據(jù)瀏覽器用戶的瀏覽習(xí)慣進行更新。
13.如權(quán)利要求11所述的方法,其特征在于,所述優(yōu)先級列表與瀏覽器用戶綁定,并作為瀏覽器用戶信息的一部分同步上傳到對應(yīng)的服務(wù)器側(cè)。
14.一種進行網(wǎng)頁下載的瀏覽器,包括 通信模塊,其適配為在頁面加載中發(fā)起對頁面中的網(wǎng)頁資源的下載請求; 攔截模塊,其適配為攔截所述網(wǎng)頁資源的下載請求,并依據(jù)所述網(wǎng)頁資源的下載請求中的網(wǎng)頁資源的類別所對應(yīng)的下載優(yōu)先級,形成下載請求隊列; 請求執(zhí)行模塊,其適配為在所述下載請求隊列中依據(jù)所述下載優(yōu)先級對不同類別的網(wǎng)頁資源進行下載。
15.如權(quán)利要求14所述的瀏覽器,其特征在于, 所述網(wǎng)頁資源的下載請求為http下載請求; 所述攔截模塊,其適配為攔截所述網(wǎng)頁資源的http下載請求,所述http下載請求被鉤子函數(shù)所攔截,并將所述http下載請求中所有的資源請求設(shè)置為請求發(fā)送狀態(tài)。
16.如權(quán)利要求15所述的瀏覽器,其特征在于,進一步包括 所述通信模塊通過調(diào)用windows的API函數(shù)增加http網(wǎng)絡(luò)連接的數(shù)量。
17.如權(quán)利要求15所述的瀏覽器,其特征在于,所述攔截模塊根據(jù)所述http下載請求中的網(wǎng)頁資源的URL獲知所述網(wǎng)頁資源的類別,所述網(wǎng)頁資源的類別至少包括網(wǎng)頁、腳本、圖片、圖標(biāo)或級聯(lián)樣式表。
18.如權(quán)利要求17所述的瀏覽器,其特征在于,所述攔截模塊進一步包括生成模塊,其適配為根據(jù)瀏覽器側(cè)基于不同類別的網(wǎng)頁資源而設(shè)置的不同下載優(yōu)先級所建立的優(yōu)先級列表而生成所述優(yōu)先級;且 所述生成模塊將所述網(wǎng)頁資源的URL根據(jù)所述優(yōu)先級列表生成請求項目,所述請求項目至少包括URL以及所述URL對應(yīng)的優(yōu)先級; 所述請求項目根據(jù)所述優(yōu)先級由所述生成模塊生成所述下載請求隊列。
19.如權(quán)利要求18所述的瀏覽器,其特征在于,所述請求執(zhí)行模塊依據(jù)所述下載請求隊列中所述請求項目的優(yōu)先級進行處理以生成放行信號,對被放行的網(wǎng)絡(luò)資源進行下載。
20.如權(quán)利要求18所述的瀏覽器,其特征在于,所述請求項目的等待時間達到預(yù)設(shè)的時間閾值時,所述請求執(zhí)行模塊對其發(fā)出放行信號,優(yōu)先處理。
全文摘要
本發(fā)明公開了一種進行網(wǎng)頁下載的方法,包括在頁面加載中發(fā)起對頁面中的網(wǎng)頁資源的下載請求;攔截所述網(wǎng)頁資源的下載請求,并依據(jù)所述網(wǎng)頁資源的下載請求中的網(wǎng)頁資源的類別所對應(yīng)的下載優(yōu)先級形成下載請求隊列;在所述下載請求隊列中依據(jù)所述下載優(yōu)先級對不同類別的網(wǎng)頁資源進行下載。本發(fā)明對于網(wǎng)頁請求的網(wǎng)頁資源,對網(wǎng)絡(luò)資源進行分類并進行基于網(wǎng)絡(luò)資源類別的下載進行優(yōu)先級處理,能夠?qū)崿F(xiàn)在網(wǎng)頁瀏覽時,對影響網(wǎng)頁效果的資源進行優(yōu)先下載,在不影響用戶體驗的情況下,提高了網(wǎng)頁下載效率。
文檔編號H04L29/08GK102984275SQ20121054629
公開日2013年3月20日 申請日期2012年12月14日 優(yōu)先權(quán)日2012年12月14日
發(fā)明者楊曉兵, 任寰 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司