一種快速訪問網(wǎng)頁的方法、裝置制造方法
【專利摘要】本申請?zhí)峁┝艘环N快速訪問網(wǎng)頁的方法、裝置,以解決瀏覽器第一次訪問無緩存的問題。所述方法包括:預先在本地創(chuàng)建優(yōu)化緩存區(qū),并在所述優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù);當發(fā)起網(wǎng)頁訪問請求時,查詢所述優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù),如果已保存,則直接從所述優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù);如果未保存,則觸發(fā)瀏覽器默認的緩存機制來查詢?yōu)g覽器的默認緩存區(qū)中是否保存所述網(wǎng)頁數(shù)據(jù)。本申請可以提高網(wǎng)頁(尤其是復雜腳本頁面)的訪問速度,還可以避免緩存被瀏覽器自動清理掉的問題。
【專利說明】一種快速訪問網(wǎng)頁的方法、裝置
【技術領域】
[0001]本申請涉及網(wǎng)頁訪問技術,特別是涉及一種快速訪問網(wǎng)頁的方法、裝置。
【背景技術】
[0002]在訪問網(wǎng)頁的過程中,為了提高訪問速度,瀏覽器都會支持網(wǎng)頁緩存機制。例如,Windows系統(tǒng)自帶的IE瀏覽器會采用累積式加速的方法來實現(xiàn)網(wǎng)頁的緩存,即將用戶曾經(jīng)訪問的網(wǎng)頁內容(包括圖片以及cookie文件等)存放在用戶電腦里,并且隨著用戶訪問頁面數(shù)的增加,緩存也累積。當下一次訪問同樣的頁面時,瀏覽器會首先搜索這個緩存的目錄,如果其中已經(jīng)有訪問過的內容,瀏覽器就不必從網(wǎng)上下載,而直接從本地緩存中讀取出來,從而提高了訪問網(wǎng)站的速度。
[0003]同時,緩存的大小和個數(shù)是有限制的,所以瀏覽器都有它們自己的一套清理緩存的機制,一旦緩存區(qū)內文件占用的空間或者個數(shù)超過一定量,就會觸發(fā)瀏覽器的緩存清理機制。例如,IE瀏覽器會給每一個緩存文件評估一個權值,然后把排在最后10%的緩存文件清理掉,而這個權值的算法在不同的IE版本上也有不同,并不一致。
[0004]綜上所述,這種瀏覽器普遍采用的網(wǎng)頁緩存機制在一定程度上提高了訪問網(wǎng)頁的速度。但是,也存在以下缺陷:
[0005]I)瀏覽器第一次訪問無緩存的缺陷;
[0006]目前絕大部分的瀏覽器都采用累積式加速的方法來實現(xiàn)網(wǎng)頁緩存,必須在第一次訪問后才能獲取網(wǎng)頁的緩存文件,所以第一次訪問都必須從服務器下載,這就帶來第一次訪問無法提高訪問速度的問題。
[0007]2)緩存被瀏覽器或者其它清理軟件定期清理掉的缺陷。
[0008]瀏覽器都有自己的一套清理緩存的機制,一旦緩存文件過大,只能按照瀏覽器的清理機制決定清理哪些文件,但是此機制無法識別哪些緩存文件是關鍵的或者重要的,而網(wǎng)站也無法控制自己的緩存頁面不被清理。因此,可能會將一些重要文件清理掉,導致需經(jīng)常性地加載這些頁面時很緩慢的問題。
【發(fā)明內容】
[0009]本申請?zhí)峁┝艘环N快速訪問網(wǎng)頁的方法、裝置,以解決瀏覽器第一次訪問無緩存的問題。
[0010]為了解決上述問題,本申請公開了一種快速訪問網(wǎng)頁的方法,包括:
[0011]預先在本地創(chuàng)建一區(qū)別于瀏覽器默認緩存區(qū)的優(yōu)化緩存區(qū),并在所述區(qū)別于瀏覽器默認緩存區(qū)的優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù);
[0012]當發(fā)起網(wǎng)頁訪問請求時,查詢所述優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù),如果已保存,則直接從所述優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù);如果未保存,則觸發(fā)瀏覽器默認的緩存機制來查詢?yōu)g覽器的默認緩存區(qū)中是否保存所述網(wǎng)頁數(shù)據(jù)。
[0013]優(yōu)選的,所述瀏覽器默認的緩存機制還包括:當瀏覽器的默認緩存區(qū)中已保存所述網(wǎng)頁數(shù)據(jù)時,直接從瀏覽器的默認緩存區(qū)中讀??;當瀏覽器的默認緩存區(qū)中未保存所述網(wǎng)頁數(shù)據(jù)時,從服務器進行下載。
[0014]優(yōu)選的,所述預先在本地創(chuàng)建優(yōu)化緩存區(qū),包括:在本地安裝協(xié)議處理器,由所述協(xié)議處理器創(chuàng)建優(yōu)化緩存區(qū)。
[0015]優(yōu)選的,所述在優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù),包括:安裝完成后,自動從服務器下載需要訪問的所有網(wǎng)頁數(shù)據(jù),并保存到所述優(yōu)化緩存區(qū)中。
[0016]優(yōu)選的,所述在優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù),包括:在所述協(xié)議處理器的安裝包中預置需要訪問的所有網(wǎng)頁數(shù)據(jù),并在安裝完成后將安裝包中需要訪問的所有網(wǎng)頁數(shù)據(jù)保存到所述優(yōu)化緩存區(qū)中。
[0017]優(yōu)選的,當發(fā)起網(wǎng)頁訪問請求時,還包括:瀏覽器的URL處理模塊調用查詢函數(shù)查看協(xié)議處理器是否實現(xiàn)了供外部調用的接口 ;如果已實現(xiàn),則通知協(xié)議處理器查詢所述優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù);如果未實現(xiàn),則通知瀏覽器默認的緩存模塊查詢?yōu)g覽器的默認緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù)。
[0018]優(yōu)選的,所述直接從優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù)之前,還包括:所述協(xié)議處理器通知瀏覽器的URL處理模塊所述優(yōu)化緩存區(qū)中已保存所述網(wǎng)頁數(shù)據(jù)。
[0019]優(yōu)選的,所述直接從優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù),包括:所述瀏覽器的URL處理模塊調用協(xié)議處理器的讀取函數(shù),從優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù)。
[0020]優(yōu)選的,所述網(wǎng)頁數(shù)據(jù)包含網(wǎng)頁腳本數(shù)據(jù)。
[0021]本申請還提供了一種快速訪問網(wǎng)頁的裝置,包括:
[0022]優(yōu)化緩存區(qū)創(chuàng)建模塊,用于預先在本地創(chuàng)建一區(qū)別于瀏覽器默認緩存區(qū)的優(yōu)化緩存區(qū);
[0023]預加載模塊,用于在所述區(qū)別于瀏覽器默認緩存區(qū)的優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù);
[0024]數(shù)據(jù)獲取模塊,用于當發(fā)起網(wǎng)頁訪問請求時,查詢所述優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù),如果已保存,則直接從所述優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù);如果未保存,則觸發(fā)瀏覽器默認的緩存模塊來查詢?yōu)g覽器的默認緩存區(qū)中是否保存所述網(wǎng)頁數(shù)據(jù)。
[0025]優(yōu)選的,所述瀏覽器默認的緩存模塊還用于當瀏覽器的默認緩存區(qū)中已保存所述網(wǎng)頁數(shù)據(jù)時,直接從瀏覽器的默認緩存區(qū)中讀?。划敒g覽器的默認緩存區(qū)中未保存所述網(wǎng)頁數(shù)據(jù)時,從服務器進行下載。
[0026]優(yōu)選的,所述預加載模塊包括:數(shù)據(jù)下載子模塊,用于自動從服務器下載需要訪問的所有網(wǎng)頁數(shù)據(jù),并保存到所述優(yōu)化緩存區(qū)中。
[0027]優(yōu)選的,所述預加載模塊包括:
[0028]數(shù)據(jù)存儲子模塊,用于存儲需要訪問的所有網(wǎng)頁數(shù)據(jù);
[0029]加載子模塊,用于將所述數(shù)據(jù)存儲子模塊中需要訪問的所有網(wǎng)頁數(shù)據(jù)保存到所述優(yōu)化緩存區(qū)中。
[0030]優(yōu)選的,所述網(wǎng)頁數(shù)據(jù)包含網(wǎng)頁腳本數(shù)據(jù)。
[0031]與現(xiàn)有技術相比,本申請包括以下優(yōu)點:
[0032]首先,本申請實現(xiàn)了一種新的可以配置可以運營維護的緩存機制,本身并不替代原有瀏覽器的緩存機制,而是完全兼容原有的緩存機制,是對瀏覽器緩存機制的一種補充?;诒旧暾?,當瀏覽器訪問網(wǎng)頁時,先從本申請?zhí)峁┑膬?yōu)化緩存中讀取網(wǎng)頁數(shù)據(jù),當讀取不到時再使用瀏覽器的緩存機制,從瀏覽器的默認緩存區(qū)讀取。因此,當?shù)谝淮卧L問網(wǎng)頁時,雖然瀏覽器的默認緩存區(qū)沒有該網(wǎng)頁數(shù)據(jù),但是只要這個網(wǎng)頁數(shù)據(jù)預先配置到了優(yōu)化緩存區(qū)中,就可以直接從所述優(yōu)化緩存區(qū)中讀取到,從而提高了訪問速度。
[0033]同時,由于所述優(yōu)化緩存區(qū)中的緩存數(shù)據(jù)只要配置好后就不會被定期清理,即使瀏覽器定期執(zhí)行清理機制,也不會影響所述優(yōu)化緩存區(qū)中的緩存數(shù)據(jù)。因此,通過這種補充的緩存機制,緩存的文件可以不被瀏覽器或者其它軟件清理掉,解決了網(wǎng)站的緩存文件經(jīng)常被瀏覽器自動清理的問題,減少了某些特定網(wǎng)站服務器帶寬的占用。本申請尤其適用于具有復雜頁面腳本的網(wǎng)頁訪問。
[0034]其次,本申請利用Windows的異步可插入?yún)f(xié)議(APPS, Asynchronous PluggableProtocols),通過自創(chuàng)建異步可插協(xié)議處理器實現(xiàn)HTTP協(xié)議的網(wǎng)絡請求的接管。通過這種接管,可以很方便快捷地實現(xiàn)所需要的緩存機制。
[0035]當然,實施本申請的任一產(chǎn)品不一定需要同時達到以上所述的所有優(yōu)點。
【專利附圖】
【附圖說明】
[0036]圖1是本申請實施例所述一種快速訪問網(wǎng)頁的方法流程圖;
[0037]圖2是本申請另一實施例所述一種快速訪問網(wǎng)頁的流程不意圖;
[0038]圖3是本申請實施例所述一種快速訪問網(wǎng)頁的裝置結構圖;
[0039]圖4是本申請實施例所述一種快速訪問網(wǎng)頁的瀏覽器結構圖。
【具體實施方式】
[0040]為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本申請作進一步詳細的說明。
[0041]本申請實現(xiàn)了一種新的可以配置可以運營維護的緩存機制,本身并不替代原有瀏覽器的緩存機制,而是完全兼容原有的緩存機制,是對瀏覽器緩存機制的一種補充。
[0042]下面通過實施例對本申請的實現(xiàn)進行詳細說明。
[0043]參照圖1,是本申請實施例所述一種快速訪問網(wǎng)頁的方法流程圖。
[0044]步驟101,預先在本地創(chuàng)建優(yōu)化緩存區(qū),并在所述優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù);
[0045]本實施例中,可以將需要提高訪問速度的網(wǎng)站的相關文件和索引文件(統(tǒng)稱為網(wǎng)頁數(shù)據(jù)或緩存文件)通過安裝包或者客戶端的升級模塊,提前安裝到用戶的機器上,并在用戶機器上創(chuàng)建優(yōu)化緩存區(qū)來緩存這些網(wǎng)頁數(shù)據(jù)。具體的,所述網(wǎng)頁數(shù)據(jù)或緩存文件可以包含圖片、文字等網(wǎng)頁本身的內容,也可以包含cookie文件,還可以包含網(wǎng)頁腳本等。
[0046]其中,所述優(yōu)化緩存區(qū)區(qū)別于瀏覽器的默認緩存區(qū)。瀏覽器支持的網(wǎng)頁緩存機制是將瀏覽器曾經(jīng)訪問過的網(wǎng)頁數(shù)據(jù)存到所述默認緩存區(qū)中,并對該默認緩存區(qū)進行自動清理和維護。而本申請實施例所述的優(yōu)化緩存區(qū)并不是將瀏覽器曾經(jīng)訪問過的網(wǎng)頁數(shù)據(jù)進行緩存,而是通過預加載的方式將所有可能訪問的網(wǎng)站的數(shù)據(jù)進行緩存,這些網(wǎng)頁數(shù)據(jù)瀏覽器可能一次都沒有訪問過。
[0047]進一步的,本實施例提供了兩種預加載方式,如下:
[0048]一種方式是在安裝包或者客戶端升級模塊安裝完成后,自動從服務器下載需要訪問的所有網(wǎng)頁數(shù)據(jù),并保存到所述優(yōu)化緩存區(qū)中;
[0049]另一種方式是所述安裝包或者客戶端升級模塊中自帶了需要訪問的所有網(wǎng)頁數(shù)據(jù),也即在所述安裝包或者客戶端升級模塊中預配置需要訪問的所有網(wǎng)頁數(shù)據(jù),并在安裝完成后將所有網(wǎng)頁數(shù)據(jù)保存到所述優(yōu)化緩存區(qū)中。
[0050]實際應用中采用任何一種預加載方式均可。而且,無論采用哪種預加載方式,預加載的內容都可以進行配置,即可以根據(jù)用戶的需求配置好哪些網(wǎng)站的網(wǎng)頁數(shù)據(jù)(如腳本、cookie、圖片、文字等)需要進行預加載。
[0051]步驟102,當發(fā)起網(wǎng)頁訪問請求時,查詢所述優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù),如果已保存,則直接從所述優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù);
[0052]具體查詢時,根據(jù)緩存文件的索引進行查詢。所述索引是一個索引文件,里面包含有網(wǎng)頁URL和優(yōu)化緩存區(qū)中緩存文件的對應關系。在瀏覽器訪問網(wǎng)頁發(fā)出網(wǎng)頁資源的http請求時,將會去此索引文件內進行搜索,如果可以找到對應的緩存文件則直接讀取,否則,執(zhí)行步驟103返回給系統(tǒng)做默認處理。
[0053]由上可知,當訪問網(wǎng)頁發(fā)出請求時,瀏覽器會首先查詢所述優(yōu)化緩存區(qū),而不是原來的瀏覽器默認緩存區(qū)。
[0054]步驟103,如果未保存,則觸發(fā)瀏覽器默認的緩存機制來查詢?yōu)g覽器的默認緩存區(qū)中是否保存所述網(wǎng)頁數(shù)據(jù);
[0055]當瀏覽器的默認緩存區(qū)中已保存所述網(wǎng)頁數(shù)據(jù)時,直接從瀏覽器的默認緩存區(qū)中讀取;
[0056]當瀏覽器的默認緩存區(qū)中未保存所述網(wǎng)頁數(shù)據(jù)時,再從服務器進行下載。
[0057]以上就是系統(tǒng)的默認處理,即使用瀏覽器支持的緩存機制。
[0058]總之,無論是從優(yōu)化緩存區(qū)讀取,還是從瀏覽器默認緩存區(qū)讀取,還是從服務器上下載,當獲取到需要訪問的緩存文件后,繼續(xù)進行后續(xù)處理,如在客戶端顯示。
[0059]由上述流程可知,當?shù)谝淮卧L問網(wǎng)頁時,雖然瀏覽器的默認緩存區(qū)沒有該網(wǎng)頁數(shù)據(jù),但是只要這個網(wǎng)頁數(shù)據(jù)預先配置到了優(yōu)化緩存區(qū)中,就可以直接從所述優(yōu)化緩存區(qū)中讀取到,從而提高了訪問速度。
[0060]同時,由于所述優(yōu)化緩存區(qū)中的緩存數(shù)據(jù)只要配置好后就不會被定期清理,即使瀏覽器定期執(zhí)行清理機制,也不會影響所述優(yōu)化緩存區(qū)中的緩存數(shù)據(jù)。因此,通過這種補充的緩存機制,緩存的文件可以不被瀏覽器或者其它軟件清理掉,解決了網(wǎng)站的緩存文件經(jīng)常被瀏覽器自動清理的問題,減少了某些特定網(wǎng)站服務器帶寬的占用。為了使本領域技術人員進一步理解本申請的實現(xiàn),下面通過更具體的例子進行詳細說明。
[0061]在本實施例中,將利用Windows的異步可插入?yún)f(xié)議(APPS, AsynchronousPluggable Protocols),通過自創(chuàng)建異步可插協(xié)議處理器實現(xiàn)http協(xié)議的網(wǎng)絡請求的接管,從而獲得瀏覽器所有http協(xié)議方面的處理權限。通過這種接管,可以很方便快捷地實現(xiàn)所需要的緩存機制。
[0062]異步可插協(xié)議處理器(APPS)是Windows平臺上處理自定義URL協(xié)議方案或者為指定的MME類型過濾數(shù)據(jù)的一種方案,它允許通過APPS替換掉Windows系統(tǒng)默認的URL協(xié)議,比如http協(xié)議或者about協(xié)議等。
[0063]異步可插協(xié)議處理器(APPS)是一個用于處理任何注冊為協(xié)議方案的調用的線程單元COM對象。當客戶端程序作出請求,Urlmon (Windows的URL處理模塊)在注冊表中查看協(xié)議方案并創(chuàng)建一個已經(jīng)為這個協(xié)議方案注冊的協(xié)議處理程序的實例。如果協(xié)議注冊方案被成功地映射到協(xié)議處理器的類標識(CLSID),將調用IClassFactory接口的CoCreateInstance 方法。協(xié)議處理器通過 IClassFactory::CreateInstance 函數(shù)來獲得實例。
[0064]在Windows系統(tǒng)下,原瀏覽器緩存機制可通過系統(tǒng)的異步可插協(xié)議處理器APPS (簡稱默認APPS)實現(xiàn)。本實施例自創(chuàng)建異步可插協(xié)議處理器APPS(簡稱自創(chuàng)建APPS),并作為對系統(tǒng)默認APPS的補充,二者配合使用可實現(xiàn)網(wǎng)頁訪問速度的提高,同時可防止緩存被瀏覽器自動清理。
[0065]其中,所述自創(chuàng)建的APPS可單獨作為一個插件安裝到IE瀏覽器上使用,也可以作為瀏覽器功能的一部分,客戶端安裝具有所述APPS的全新瀏覽器來實現(xiàn)本申請。無論是安裝單獨的插件,還是安裝一個全新的瀏覽器,在安裝完成后,自創(chuàng)建的APPS都會在客戶端創(chuàng)建一個優(yōu)化緩存區(qū),并將預配置好的需要訪問的所有網(wǎng)頁數(shù)據(jù)保存到所述優(yōu)化緩存區(qū)中。
[0066]下面的流程圖2顯示了如何通過APPS實現(xiàn)http的網(wǎng)絡請求,從自定義的優(yōu)化緩存區(qū)中讀取數(shù)據(jù),而不需要從網(wǎng)絡上獲取。
[0067]參照圖2,是本申請另一實施例所述一種快速訪問網(wǎng)頁的流程示意圖。
[0068]步驟201,當網(wǎng)頁發(fā)出http請求時,瀏覽器的URL處理模塊(Urlmon.dll)調用查詢函數(shù)查看自創(chuàng)建APPS是否實現(xiàn)了供外部調用的接口 ;
[0069]具體的,系統(tǒng)的Urlmon.dll首先調用QueryInterface函數(shù)(它是一個Com的標準函數(shù),功能是查詢接口)查看自創(chuàng)建APPS是否實現(xiàn)了 IlnternetProtocol接口。其中,所述IlnternetProtocol接口是一個由自創(chuàng)建APPS暴露給外部調用的一個接口,在下載操作(指的是網(wǎng)絡下載過程)中負責和IInternetProtocolSink接口通訊。
[0070]如果該接口已實現(xiàn),則執(zhí)行步驟202,通知自創(chuàng)建APPS查詢所述優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù);
[0071]如果該接口未實現(xiàn),則通知瀏覽器默認APPS (也可稱為瀏覽器默認的緩存模塊)查詢?yōu)g覽器的默認緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù),后續(xù)步驟在此略。
[0072]步驟202,通知自創(chuàng)建APPS查詢所述優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù);
[0073]如果已保存,則執(zhí)行步驟203 ;否則,通知瀏覽器默認APPS,后續(xù)步驟在此略。
[0074]具體的,系統(tǒng)Urlmon.dll 調用自創(chuàng)建 APPS 的 IInternetProtocolRoot:: Start 方法,并且傳遞 Urlmon.dll 的 IInternetProtocolSink 接口的地址。
[0075]其中,IInternetProtocolRoot::Start方法可用于查詢要訪問的URL對應的數(shù)據(jù)是否在優(yōu)化緩存區(qū)中。
[0076]其中,IInternetProtocolSink接口是一個用來接收來自APPS數(shù)據(jù)相關的信息和通知的接口。
[0077]步驟203,自創(chuàng)建APPS開始查詢;
[0078]首先從本地的一個優(yōu)化緩存區(qū)查詢數(shù)據(jù),如果此緩存區(qū)存有需要加速的特殊頁面對應文件,就從本地優(yōu)化緩存區(qū)讀取,而不需要從網(wǎng)絡上去請求,這樣就實現(xiàn)了復雜網(wǎng)頁的加速。否則,若查詢不到,再調用系統(tǒng)的默認APPS。
[0079]步驟204,當查詢到,則自創(chuàng)建APPS通知Urlmon.dll所述優(yōu)化緩存區(qū)中已保存所述網(wǎng)頁數(shù)據(jù);
[0080]具體的,當自創(chuàng)建APPS開始從本地優(yōu)化緩存區(qū)讀取到對應數(shù)據(jù)之后,調用Urlmon.dll 的 IInternetProtocolSink::ReportData 方法通知 Urlmon.dll。
[0081]步驟205,Urlmon.dll調用自創(chuàng)建APPS的讀取函數(shù),從優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù);
[0082]具體的,系統(tǒng)Urlmon.dll 調用自創(chuàng)建 APPS 的 IInternetProtocol::Read 方法進行讀取。
[0083]步驟206,重復步驟204到步驟205,直到自創(chuàng)建APPS完成請求數(shù)據(jù)的下載任務。
[0084]上述流程可以提高網(wǎng)頁的加載速度,甚至可以通過客戶端軟件預先下載用戶所需要訪問網(wǎng)站的所有網(wǎng)頁文件,從而減少網(wǎng)絡連接速度和次數(shù)。而且,還可以防止緩存被瀏覽器自動清理掉。
[0085]此外,還需要說明的是,本申請上述實施例尤其適用于具有復雜頁面腳本的網(wǎng)頁訪問和加載。在訪問這些復雜頁面的時候,如果從服務器下載復雜的頁面腳本,需要花費更多的時間;但如果使用本申請實施例所述的方法,通過預加載的方式先加載到本地的優(yōu)化緩存區(qū)中,再從所述優(yōu)化緩存區(qū)讀取,則訪問速度大大提高,而且對復雜腳本頁面的加速效果更加明顯。
[0086]需要說明的是,對于前述的方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本申請并不受所描述的動作順序的限制,因為依據(jù)本申請,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本申請所必須的。
[0087]基于上述方法實施例的說明,本申請還提供了相應的裝置實施例,如下。
[0088]參照圖3,是本申請實施例所述一種快速訪問網(wǎng)頁的裝置結構圖。
[0089]所述快速訪問網(wǎng)頁的裝置10可包括優(yōu)化緩存區(qū)創(chuàng)建模塊20、預加載模塊30和數(shù)據(jù)獲取模塊40,其中,
[0090]優(yōu)化緩存區(qū)創(chuàng)建模塊20,用于預先在本地創(chuàng)建優(yōu)化緩存區(qū);
[0091]預加載模塊30,用于在所述優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù);
[0092]數(shù)據(jù)獲取模塊40,用于當發(fā)起網(wǎng)頁訪問請求時,查詢所述優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù),如果已保存,則直接從所述優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù);如果未保存,則觸發(fā)瀏覽器默認的緩存模塊來查詢?yōu)g覽器的默認緩存區(qū)中是否保存所述網(wǎng)頁數(shù)據(jù)。
[0093]所述瀏覽器默認的緩存模塊還用于當瀏覽器的默認緩存區(qū)中已保存所述網(wǎng)頁數(shù)據(jù)時,直接從瀏覽器的默認緩存區(qū)中讀取;當瀏覽器的默認緩存區(qū)中未保存所述網(wǎng)頁數(shù)據(jù)時,從服務器進行下載。
[0094]其中,所述瀏覽器默認的緩存模塊用于實現(xiàn)瀏覽器自帶的網(wǎng)頁緩存機制,可以是瀏覽器自帶的APPS。
[0095]進一步優(yōu)選的,在上述方法實施例中提供了兩種預加載方式,對應這兩種預加載方式,所述預加載模塊30可分別包含以下子模塊:
[0096]所述預加載模塊30可以包括:
[0097]數(shù)據(jù)下載子模塊,用于自動從服務器下載需要訪問的所有網(wǎng)頁數(shù)據(jù),并保存到所述優(yōu)化緩存區(qū)中。
[0098]所述預加載模塊30也可以包括:
[0099]數(shù)據(jù)存儲子模塊,用于存儲需要訪問的所有網(wǎng)頁數(shù)據(jù);
[0100]加載子模塊,用于將所述數(shù)據(jù)存儲子模塊中需要訪問的所有網(wǎng)頁數(shù)據(jù)保存到所述優(yōu)化緩存區(qū)中。
[0101]當然,所述預加載模塊30也可以同時包含實現(xiàn)兩種配置方式的以上所有子模塊。
[0102]對于上述裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0103]所述快速訪問網(wǎng)頁的裝置可作為單獨的插件安裝到IE瀏覽器上使用,也可以作為瀏覽器功能的一部分,如圖4所示。
[0104]參照圖4,是本申請實施例所述一種快速訪問網(wǎng)頁的瀏覽器結構圖。
[0105]所述瀏覽器包含一協(xié)議處理器50,所述協(xié)議處理器50可包含圖3所示的快速訪問網(wǎng)頁的裝置10,可參見圖3的說明,在此略。
[0106]此外,所述瀏覽器還可包括緩存模塊60,用于實現(xiàn)瀏覽器默認的網(wǎng)頁緩存機制。
[0107]優(yōu)選的,所述瀏覽器還可以包括URL處理模塊70,用于當發(fā)起網(wǎng)頁訪問請求時,調用查詢函數(shù)查看協(xié)議處理器50是否實現(xiàn)了供外部調用的接口 ;如果已實現(xiàn),則通知協(xié)議處理器50查詢優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù);如果未實現(xiàn),則通知瀏覽器默認的緩存模塊60查詢?yōu)g覽器的默認緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù)。
[0108]綜上所述,所述快速訪問網(wǎng)頁的裝置或瀏覽器實現(xiàn)了一種新的可以配置可以運營維護的緩存機制,本身并不替代原有瀏覽器的緩存機制,而是完全兼容原有的緩存機制,是對瀏覽器緩存機制的一種補充。通過這種補充的緩存機制,緩存的文件可以不被原瀏覽器或者其它軟件清理掉,解決了網(wǎng)站的緩存文件經(jīng)常被瀏覽器自動清理的問題,減少了某些特定網(wǎng)站服務器帶寬的占用。
[0109]本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
[0110]以上對本申請所提供的一種快速訪問網(wǎng)頁的方法、裝置及一種瀏覽器,進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本申請的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。
[0111]本發(fā)明實施例還揭示了 Al、一種快速訪問網(wǎng)頁的方法,包括:
[0112]預先在本地創(chuàng)建優(yōu)化緩存區(qū),并在所述優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù);
[0113]當發(fā)起網(wǎng)頁訪問請求時,查詢所述優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù),如果已保存,則直接從所述優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù);如果未保存,則觸發(fā)瀏覽器默認的緩存機制來查詢?yōu)g覽器的默認緩存區(qū)中是否保存所述網(wǎng)頁數(shù)據(jù)。
[0114]A2、根據(jù)Al所述的方法,其特征在于,所述瀏覽器默認的緩存機制還包括:
[0115]當瀏覽器的默認緩存區(qū)中已保存所述網(wǎng)頁數(shù)據(jù)時,直接從瀏覽器的默認緩存區(qū)中讀??;
[0116]當瀏覽器的默認緩存區(qū)中未保存所述網(wǎng)頁數(shù)據(jù)時,從服務器進行下載。
[0117]A3、根據(jù)Al所述的方法,其特征在于,所述預先在本地創(chuàng)建優(yōu)化緩存區(qū),包括:
[0118]在本地安裝協(xié)議處理器,由所述協(xié)議處理器創(chuàng)建優(yōu)化緩存區(qū)。
[0119]A4、根據(jù)A3所述的方法,其特征在于,所述在優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù),包括:
[0120]安裝完成后,自動從服務器下載需要訪問的所有網(wǎng)頁數(shù)據(jù),并保存到所述優(yōu)化緩存區(qū)中。
[0121]A5、根據(jù)A3所述的方法,其特征在于,所述在優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù),包括:
[0122]在所述協(xié)議處理器的安裝包中預置需要訪問的所有網(wǎng)頁數(shù)據(jù),并在安裝完成后將安裝包中需要訪問的所有網(wǎng)頁數(shù)據(jù)保存到所述優(yōu)化緩存區(qū)中。
[0123]A6、根據(jù)A3所述的方法,其特征在于,當發(fā)起網(wǎng)頁訪問請求時,還包括:
[0124]瀏覽器的URL處理模塊調用查詢函數(shù)查看協(xié)議處理器是否實現(xiàn)了供外部調用的接口 ;
[0125]如果已實現(xiàn),則通知協(xié)議處理器查詢所述優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù);
[0126]如果未實現(xiàn),則通知瀏覽器默認的緩存模塊查詢?yōu)g覽器的默認緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù)。
[0127]A7、根據(jù)A6所述的方法,其特征在于,所述直接從優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù)之前,還包括:
[0128]所述協(xié)議處理器通知瀏覽器的URL處理模塊所述優(yōu)化緩存區(qū)中已保存所述網(wǎng)頁數(shù)據(jù)。
[0129]AS、根據(jù)A6所述的方法,其特征在于,所述直接從優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù),包括:
[0130]所述瀏覽器的URL處理模塊調用協(xié)議處理器的讀取函數(shù),從優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù)。
[0131]A9、根據(jù)Al至AS任一所述的方法,其特征在于:
[0132]所述網(wǎng)頁數(shù)據(jù)包含網(wǎng)頁腳本數(shù)據(jù)。
[0133]本發(fā)明實施例還揭示了 B10、一種快速訪問網(wǎng)頁的裝置,包括:
[0134]優(yōu)化緩存區(qū)創(chuàng)建模塊,用于預先在本地創(chuàng)建優(yōu)化緩存區(qū);
[0135]預加載模塊,用于在所述優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù);
[0136]數(shù)據(jù)獲取模塊,用于當發(fā)起網(wǎng)頁訪問請求時,查詢所述優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù),如果已保存,則直接從所述優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù);如果未保存,則觸發(fā)瀏覽器默認的緩存模塊來查詢?yōu)g覽器的默認緩存區(qū)中是否保存所述網(wǎng)頁數(shù)據(jù)。
[0137]B11、根據(jù)BlO所述的裝置,其特征在于:
[0138]所述瀏覽器默認的緩存模塊還用于當瀏覽器的默認緩存區(qū)中已保存所述網(wǎng)頁數(shù)據(jù)時,直接從瀏覽器的默認緩存區(qū)中讀??;當瀏覽器的默認緩存區(qū)中未保存所述網(wǎng)頁數(shù)據(jù)時,從服務器進行下載。
[0139]B12、根據(jù)BlO或Bll所述的裝置,其特征在于,所述預加載模塊包括:
[0140]數(shù)據(jù)下載子模塊,用于自動從服務器下載需要訪問的所有網(wǎng)頁數(shù)據(jù),并保存到所述優(yōu)化緩存區(qū)中。
[0141]B13、根據(jù)BlO或Bll所述的裝置,其特征在于,所述預加載模塊包括:
[0142]數(shù)據(jù)存儲子模塊,用于存儲需要訪問的所有網(wǎng)頁數(shù)據(jù);
[0143]加載子模塊,用于將所述數(shù)據(jù)存儲子模塊中需要訪問的所有網(wǎng)頁數(shù)據(jù)保存到所述優(yōu)化緩存區(qū)中。
[0144]B14、根據(jù)BlO或Bll所述的裝置,其特征在于:
[0145]所述網(wǎng)頁數(shù)據(jù)包含網(wǎng)頁腳本數(shù)據(jù)。
【權利要求】
1.一種快速訪問網(wǎng)頁的方法,包括: 預先在本地創(chuàng)建優(yōu)化緩存區(qū),并在所述優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù); 當發(fā)起網(wǎng)頁訪問請求時,查詢所述優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù),如果已保存,則直接從所述優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù);如果未保存,則觸發(fā)瀏覽器默認的緩存機制來查詢?yōu)g覽器的默認緩存區(qū)中是否保存所述網(wǎng)頁數(shù)據(jù)。
2.根據(jù)權利要求1所述的方法,其特征在于,所述瀏覽器默認的緩存機制還包括: 當瀏覽器的默認緩存區(qū)中已保存所述網(wǎng)頁數(shù)據(jù)時,直接從瀏覽器的默認緩存區(qū)中讀?。? 當瀏覽器的默認緩存區(qū)中未保存所述網(wǎng)頁數(shù)據(jù)時,從服務器進行下載。
3.根據(jù)權利要求1所述的方法,其特征在于,所述預先在本地創(chuàng)建優(yōu)化緩存區(qū),包括: 在本地安裝協(xié)議處理器,由所述協(xié)議處理器創(chuàng)建優(yōu)化緩存區(qū)。
4.根據(jù)權利要求3所述的方法,其特征在于,所述在優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù),包括: 安裝完成后,自動從服務器下載需要訪問的所有網(wǎng)頁數(shù)據(jù),并保存到所述優(yōu)化緩存區(qū)中。
5.根據(jù)權利要求3所述的方法,其特征在于,所述在優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù),包括: 在所述協(xié)議處理器的安裝包中預置需要訪問的所有網(wǎng)頁數(shù)據(jù),并在安裝完成后將安裝包中需要訪問的所有網(wǎng)頁數(shù)據(jù)保存到所述優(yōu)化緩存區(qū)中。
6.根據(jù)權利要求3所述的方法,其特征在于,當發(fā)起網(wǎng)頁訪問請求時,還包括: 瀏覽器的URL處理模塊調用查詢函數(shù)查看協(xié)議處理器是否實現(xiàn)了供外部調用的接口 ;如果已實現(xiàn),則通知協(xié)議處理器查詢所述優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù); 如果未實現(xiàn),則通知瀏覽器默認的緩存模塊查詢?yōu)g覽器的默認緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù)。
7.根據(jù)權利要求6所述的方法,其特征在于,所述直接從優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù)之前,還包括: 所述協(xié)議處理器通知瀏覽器的URL處理模塊所述優(yōu)化緩存區(qū)中已保存所述網(wǎng)頁數(shù)據(jù)。
8.一種快速訪問網(wǎng)頁的裝置,包括: 優(yōu)化緩存區(qū)創(chuàng)建模塊,用于預先在本地創(chuàng)建優(yōu)化緩存區(qū); 預加載模塊,用于在所述優(yōu)化緩存區(qū)中預加載需要訪問的所有網(wǎng)頁數(shù)據(jù); 數(shù)據(jù)獲取模塊,用于當發(fā)起網(wǎng)頁訪問請求時,查詢所述優(yōu)化緩存區(qū)中是否保存所述網(wǎng)頁訪問請求對應的網(wǎng)頁數(shù)據(jù),如果已保存,則直接從所述優(yōu)化緩存區(qū)中讀取所述網(wǎng)頁數(shù)據(jù);如果未保存,則觸發(fā)瀏覽器默認的緩存模塊來查詢?yōu)g覽器的默認緩存區(qū)中是否保存所述網(wǎng)頁數(shù)據(jù)。
9.根據(jù)權利要求8所述的裝置,其特征在于: 所述瀏覽器默認的緩存模塊還用于當瀏覽器的默認緩存區(qū)中已保存所述網(wǎng)頁數(shù)據(jù)時,直接從瀏覽器的默認緩存區(qū)中讀?。划敒g覽器的默認緩存區(qū)中未保存所述網(wǎng)頁數(shù)據(jù)時,從服務器進行下載。
10.根據(jù)權利要求8或9所述的裝置,其特征在于,所述預加載模塊包括: 數(shù)據(jù)下載子模塊,用于自動從服務器下載需要訪問的所有網(wǎng)頁數(shù)據(jù),并保存到所述優(yōu)化緩存區(qū)中。
【文檔編號】G06F17/30GK104239480SQ201410449191
【公開日】2014年12月24日 申請日期:2011年9月19日 優(yōu)先權日:2011年9月19日
【發(fā)明者】宗小斌, 馬遠真, 陶偉華 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司