專利名稱:在瀏覽器和服務(wù)器之間合作以將小對(duì)象封裝到一個(gè)或多個(gè)存檔中的裝置、系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)頁,并且更具體地,涉及改進(jìn)用于網(wǎng)頁的加載時(shí)間。
背景技術(shù):
因特網(wǎng)已經(jīng)顯現(xiàn)為用于商業(yè)和個(gè)人應(yīng)用開發(fā)的默認(rèn)平臺(tái)。對(duì)建立日益增加的可用 性的因特網(wǎng)應(yīng)用的需求已經(jīng)擴(kuò)大了多媒體技術(shù)的采用,以便呈現(xiàn)更好的用戶體驗(yàn)。結(jié)果是 普通網(wǎng)頁通常包含大量的圖像資源、可執(zhí)行腳本和類型定義。這些資源的每個(gè)的文件大小 是小的,通常小于1K。當(dāng)這些小的資源部署在Web(萬維網(wǎng))服務(wù)器上時(shí),它們典型地具有 高的開銷要求,導(dǎo)致對(duì)網(wǎng)絡(luò)帶寬和服務(wù)器工作負(fù)荷的相對(duì)高的要求。 資源的網(wǎng)絡(luò)開銷要求包括協(xié)議報(bào)頭、HTTP報(bào)頭、TCP報(bào)頭和IP報(bào)頭。對(duì)于單個(gè) HTTP請(qǐng)求或響應(yīng),平均的HTTP報(bào)頭大于300字節(jié),因此,在一個(gè)請(qǐng)求/響應(yīng)交互中,存在大 于600到700字節(jié)HTTP報(bào)頭。如上所述,在許多網(wǎng)頁中的對(duì)象的大小已經(jīng)非常小,因此不 必要的HTTP報(bào)頭的成本是相當(dāng)可觀的。對(duì)象越小,開銷比越大。因?yàn)閷?dǎo)致每個(gè)請(qǐng)求的開銷 要求的報(bào)頭是因特網(wǎng)的當(dāng)前結(jié)構(gòu)的基本部分,所以幾乎不能做什么來減少它們。
除了開銷引起的延遲,當(dāng)瀏覽器訪問網(wǎng)頁時(shí),瀏覽器發(fā)送對(duì)網(wǎng)頁中的每個(gè)對(duì)象的 請(qǐng)求,并且等待每個(gè)對(duì)象的響應(yīng)。這產(chǎn)生了另一"往返時(shí)間"延遲,其與由報(bào)頭等引起的開 銷延遲復(fù)合。當(dāng)網(wǎng)頁由許多小的對(duì)象構(gòu)成時(shí),對(duì)于對(duì)象的等待時(shí)間是累積的并且進(jìn)一步延 遲加載。
發(fā)明內(nèi)容
根據(jù)前面的討論,顯然存在對(duì)用于減少網(wǎng)頁的加載時(shí)間的裝置、系統(tǒng)和方法的需 求。有利地,這種裝置、系統(tǒng)和方法優(yōu)選涉及合作行動(dòng)以減少網(wǎng)頁的加載時(shí)間的瀏覽器和 web服務(wù)器兩者。 已經(jīng)響應(yīng)于本領(lǐng)域的當(dāng)前狀況,并且具體地,響應(yīng)于還沒有被當(dāng)前可用的網(wǎng)頁傳 輸技術(shù)完全解決的現(xiàn)有技術(shù)中的問題和需要,開發(fā)了本發(fā)明。因此,本發(fā)明尋求提供一種用 于減少網(wǎng)頁的加載時(shí)間的裝置、系統(tǒng)和方法,其克服了本領(lǐng)域中的上述缺點(diǎn)的許多或全部。
提出了本發(fā)明的系統(tǒng)以減少網(wǎng)頁的加載時(shí)間。該系統(tǒng)可以通過web瀏覽器、web服 務(wù)器和存檔器體現(xiàn)。具體地,在一個(gè)實(shí)施例中,該系統(tǒng)包括恥b瀏覽器,配置為從web服務(wù) 器請(qǐng)求網(wǎng)頁;接收一個(gè)或多個(gè)存檔,該一個(gè)或多個(gè)存檔包括在網(wǎng)頁中引用的一個(gè)或多個(gè)可 存檔對(duì)象;以及使用來自該一個(gè)或多個(gè)存檔的可存檔對(duì)象呈現(xiàn)網(wǎng)頁。web服務(wù)器可配置為 從瀏覽器接收對(duì)網(wǎng)頁的請(qǐng)求;以及傳遞一個(gè)或多個(gè)存檔,其中該一個(gè)或多個(gè)存檔的每個(gè)包 括在網(wǎng)頁中引用的多個(gè)可存檔對(duì)象。存檔器可配置為對(duì)于網(wǎng)頁的一個(gè)或多個(gè)存檔優(yōu)化可 存檔對(duì)象的選擇;以及從可存檔對(duì)象的優(yōu)化選擇生成一個(gè)或多個(gè)存檔。 系統(tǒng)中的瀏覽器還可以配置為發(fā)送包括關(guān)于瀏覽器配置為接收一個(gè)或多個(gè)存檔 的指示符的瀏覽器參數(shù)。在另一實(shí)施例中,瀏覽器發(fā)送包括關(guān)于瀏覽器配置為接收對(duì)于瀏覽器的最大數(shù)目的可用連接的指示符的瀏覽器參數(shù)。 在系統(tǒng)的某些實(shí)施例中,存檔器還配置為通過確定用來傳遞一個(gè)或多個(gè)存檔的連 接的最優(yōu)數(shù)目,確定與瀏覽器的能力兼容的存檔響應(yīng)參數(shù)。在另外的實(shí)施例中,存檔器生成 與確定的用于傳遞一個(gè)或多個(gè)存檔的連接的最優(yōu)數(shù)目相等的數(shù)目的存檔。在另一實(shí)施例 中,存檔器通過以下步驟確定與瀏覽器的能力兼容的響應(yīng)參數(shù)發(fā)送存檔響應(yīng)參數(shù)給瀏覽 器,其中存檔響應(yīng)參數(shù)包括關(guān)于存檔器配置為生成一個(gè)或多個(gè)存檔的指示符和對(duì)于web服 務(wù)器的可用連接;以及確定用于傳遞一個(gè)或多個(gè)存檔的連接的最大數(shù)目。
在系統(tǒng)的一個(gè)實(shí)施例中,瀏覽器還配置為通過傳輸來自與web服務(wù)器的之前交互 的、瀏覽器高速緩存中存在的預(yù)高速緩存對(duì)象的列表,發(fā)送瀏覽器參數(shù)給web服務(wù)器,該預(yù) 高速緩存對(duì)象與網(wǎng)頁關(guān)聯(lián)。在另一實(shí)施例中,存檔器通過以下步驟確定與瀏覽器的能力兼 容的存檔響應(yīng)參數(shù)將瀏覽器高速緩存中存在的預(yù)高速緩存對(duì)象的列表與網(wǎng)頁中引用的可 存檔對(duì)象比較;確定在預(yù)高速緩存對(duì)象的列表中缺少的可存檔對(duì)象;以及為一個(gè)或多個(gè)存 檔選擇在瀏覽器高速緩存中缺少的可存檔對(duì)象。 提供了一種包括計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)可讀介質(zhì)具有編程 用于減少網(wǎng)頁的加載時(shí)間的計(jì)算機(jī)可用程序代碼。在一個(gè)實(shí)施例中,該計(jì)算機(jī)程序產(chǎn)品包 括用于以下操作的指令,所述操作包括接收瀏覽器參數(shù),其中該瀏覽器參數(shù)包括關(guān)于瀏覽 器配置為接收一個(gè)或多個(gè)存檔的指示符和對(duì)于瀏覽器的可用連接。該計(jì)算機(jī)程序產(chǎn)品還可 包括用于以下操作的指令確定用于傳遞一個(gè)或多個(gè)存檔的連接的數(shù)目,并且對(duì)于網(wǎng)頁的 一個(gè)或多個(gè)存檔優(yōu)化可存檔對(duì)象的選擇。 在某些實(shí)施例中,該計(jì)算機(jī)程序產(chǎn)品包括用于生成與用于傳遞一個(gè)或多個(gè)存檔的 連接的數(shù)目相等的數(shù)目的存檔的指令,該一個(gè)或多個(gè)存檔包括可用對(duì)象的優(yōu)化的選擇。在 另一實(shí)施例中,該計(jì)算機(jī)程序產(chǎn)品還包括用于傳遞一個(gè)或多個(gè)存檔的操作,其中該一個(gè)或 多個(gè)存檔的每個(gè)包括在網(wǎng)頁中引用的多個(gè)可存檔對(duì)象。在一個(gè)實(shí)施例中,優(yōu)化可存檔對(duì)象 的選擇還包括選擇用于包括在要由存檔器生成的一個(gè)或多個(gè)存檔中的可存檔對(duì)象,存檔的 內(nèi)容包括根據(jù)對(duì)象優(yōu)先級(jí)區(qū)分而來自網(wǎng)頁的一個(gè)或多個(gè)可存檔對(duì)象。 在計(jì)算機(jī)程序產(chǎn)品的一個(gè)實(shí)施例中,優(yōu)化可存檔對(duì)象的選擇還包括掃描指示網(wǎng)頁 的結(jié)構(gòu)的文檔對(duì)象模型(document object model, DOM)樹,以確定在網(wǎng)頁中引用的對(duì)象。 在另一實(shí)施例中,優(yōu)化可存檔對(duì)象的選擇還包括根據(jù)一個(gè)或多個(gè)優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)給可存檔 對(duì)象分配優(yōu)先級(jí)。該優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)可包括DOM樹中的對(duì)象的派生對(duì)象的數(shù)目。該優(yōu)先級(jí) 區(qū)分標(biāo)準(zhǔn)可以包括文檔對(duì)象主管(document object master,DOM)樹中的對(duì)象的層次級(jí)別。
在計(jì)算機(jī)程序產(chǎn)品的一個(gè)實(shí)施例中,選擇用于包括在一個(gè)或多個(gè)存檔中的可存檔 對(duì)象包括響應(yīng)于對(duì)象的大小小于閾值大小的確定,選擇用于包括的可存檔對(duì)象。在另一實(shí) 施例中,選擇用于包括在一個(gè)或多個(gè)存檔中的可存檔對(duì)象包括響應(yīng)于來自與web服務(wù)器 的之前交互的、瀏覽器高速緩存中存在的預(yù)高速緩存的可存檔對(duì)象的列表中缺少可存檔對(duì) 象的確定,選擇用于包括的對(duì)象。 在計(jì)算機(jī)程序產(chǎn)品的一個(gè)實(shí)施例中,生成多個(gè)存檔還包括根據(jù)優(yōu)先級(jí)分類一個(gè) 或多個(gè)存檔中的可存檔對(duì)象,使得較高優(yōu)先級(jí)可存檔對(duì)象比較低優(yōu)先級(jí)可存檔對(duì)象更靠近 存檔的起點(diǎn)。生成多個(gè)存檔可以包括根據(jù)優(yōu)先級(jí)分類選擇的可存檔對(duì)象,創(chuàng)建用于每個(gè)存 檔的存儲(chǔ)庫(bin),并且響應(yīng)于存儲(chǔ)庫中的對(duì)象的總的大小小于目標(biāo)大小,根據(jù)分類順序?qū)⒖纱鏅n對(duì)象增加到每個(gè)存儲(chǔ)庫。在一個(gè)實(shí)施例中,生成多個(gè)存檔還包括壓縮一個(gè)或多個(gè)存 檔。 還提出了本發(fā)明的用于部署計(jì)算架構(gòu)的方法,包括將計(jì)算機(jī)可讀代碼集成到計(jì)算 系統(tǒng)中,其中與計(jì)算系統(tǒng)結(jié)合的代碼能夠從web服務(wù)器請(qǐng)求網(wǎng)頁,其中從web服務(wù)器請(qǐng)求 網(wǎng)頁包括將包含指示符的瀏覽器參數(shù)發(fā)送給web服務(wù)器,該指示符指示瀏覽器能夠接收存 檔。在一個(gè)實(shí)施例中,與計(jì)算機(jī)系統(tǒng)結(jié)合的代碼還能夠從web服務(wù)器接收一個(gè)或多個(gè)存檔, 該一個(gè)或多個(gè)存檔的每個(gè)包括由網(wǎng)頁引用的多個(gè)可存檔對(duì)象。在另一實(shí)施例中,與計(jì)算機(jī) 系統(tǒng)結(jié)合的代碼能夠使用來自該一個(gè)或多個(gè)存檔的多個(gè)可存檔對(duì)象呈現(xiàn)網(wǎng)頁。
在另一實(shí)施例中,與計(jì)算機(jī)系統(tǒng)結(jié)合的代碼能夠從web服務(wù)器接收存檔響應(yīng)參 數(shù),該存檔響應(yīng)參數(shù)包括關(guān)于web服務(wù)器能夠傳遞存檔的指示。在一個(gè)實(shí)施例中,與計(jì)算機(jī) 系統(tǒng)結(jié)合的代碼還能夠確定可用于瀏覽器用來接收網(wǎng)頁的連接的數(shù)目。在另一實(shí)施例中, 與計(jì)算機(jī)系統(tǒng)結(jié)合的代碼能夠發(fā)送包含連接指示符的瀏覽器參數(shù),該連接指示符指示可用 于瀏覽器用來接收網(wǎng)頁的各部分的連接的數(shù)目。 該方法還可包括根據(jù)來自web服務(wù)器的存檔響應(yīng)參數(shù)和可用于瀏覽器使用的連 接數(shù)目建立與web服務(wù)器的連接。在另一實(shí)施例中,該方法包括傳輸來自與web服務(wù)器的 之前交互的、由瀏覽器保持在高速緩存中的可存檔對(duì)象的列表。該方法還可包括從一個(gè)或 多個(gè)存檔中提取可存檔對(duì)象。 在某些實(shí)施例中,呈現(xiàn)網(wǎng)頁還包括將可存檔對(duì)象存儲(chǔ)在高速緩存中。在另一實(shí)施 例中,呈現(xiàn)網(wǎng)頁還包括將來自存檔的可存檔對(duì)象顯示在顯示設(shè)備上。在另外的實(shí)施例中,呈 現(xiàn)網(wǎng)頁還包括解壓縮壓縮的存檔。 還提供了用于減少網(wǎng)頁的加載時(shí)間的方法。公開的實(shí)施例中的方法基本包括執(zhí)行 上面關(guān)于所述裝置和系統(tǒng)的操作呈現(xiàn)的功能必須的步驟。在一個(gè)實(shí)施例中,該方法包括確 定可用于瀏覽器用來接收網(wǎng)頁的連接的數(shù)目。該方法還可包括從web服務(wù)器請(qǐng)求網(wǎng)頁。請(qǐng) 求網(wǎng)頁可包括發(fā)送瀏覽器參數(shù),其包括指示瀏覽器能夠接收存檔的指示符和指示可用于由 瀏覽器用來接收網(wǎng)頁的各部分的連接的數(shù)目的指示符。 在一個(gè)實(shí)施例中,該方法包括從web服務(wù)器接收存檔響應(yīng)參數(shù),該存檔響應(yīng)參數(shù) 包括指示web服務(wù)器能夠傳遞存檔的指示符。該方法還可包括根據(jù)來自web服務(wù)器的存檔 響應(yīng)參數(shù)和瀏覽器參數(shù)建立與web服務(wù)器的一個(gè)或多個(gè)連接。在一個(gè)實(shí)施例中,該方法包 括從web服務(wù)器接收一個(gè)或多個(gè)存檔,該一個(gè)或多個(gè)存檔的每個(gè)包括與網(wǎng)頁相關(guān)聯(lián)的多個(gè) 可存檔對(duì)象。該方法還可以包括使用來自一個(gè)或多個(gè)存檔的多個(gè)可存檔對(duì)象呈現(xiàn)網(wǎng)頁。
還提供了一種包括計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)可讀介質(zhì)具有編 程用于減少網(wǎng)頁的加載時(shí)間的計(jì)算機(jī)可用程序代碼。在一個(gè)實(shí)施例中,該計(jì)算機(jī)程序產(chǎn)品 的操作包括確定要生成的存檔的數(shù)目;以及選擇用于包括在要由存檔器生成的一個(gè)或多 個(gè)存檔中的可存檔對(duì)象,所選擇的可存檔對(duì)象包括根據(jù)對(duì)象優(yōu)先級(jí)區(qū)分而與網(wǎng)頁相關(guān)聯(lián)的 一個(gè)或多個(gè)可存檔對(duì)象,其中響應(yīng)于可存檔對(duì)象具有低于閾值的大小的確定來選擇可存檔 對(duì)象。在一個(gè)實(shí)施例中,該計(jì)算機(jī)程序產(chǎn)品包括用于對(duì)于網(wǎng)頁的一個(gè)或多個(gè)存檔優(yōu)化所選 擇的可存檔對(duì)象的操作。該計(jì)算機(jī)程序產(chǎn)品還可包括用于生成與確定的存檔的數(shù)目相等數(shù) 目的存檔的操作,該存檔包括可存檔對(duì)象的優(yōu)化選擇。 貫穿本說明書對(duì)特征、優(yōu)點(diǎn)的引用或類似語言不暗示可以利用本發(fā)明實(shí)現(xiàn)的所有特征和優(yōu)點(diǎn)應(yīng)當(dāng)在本發(fā)明的任何單個(gè)實(shí)施例中、或在本發(fā)明的任何單個(gè)實(shí)施例中。而是,引 用特征和優(yōu)點(diǎn)的語言要理解為意味著結(jié)合實(shí)施例描述的特定特征、優(yōu)點(diǎn)或特性包括在本發(fā) 明的至少一個(gè)實(shí)施例中。因此,貫穿本說明書,特征和優(yōu)點(diǎn)的討論以及類似語言可以但不必 指相同實(shí)施例。 此外,描述的本發(fā)明的特征、優(yōu)點(diǎn)和特性可以以任何適當(dāng)方式在一個(gè)或多個(gè)實(shí)施 例中組合。相關(guān)技術(shù)領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,可以在沒有特定實(shí)施例的一個(gè)或多個(gè)特定 特征或優(yōu)點(diǎn)的情況下實(shí)踐本發(fā)明。在其它示例中,在某些實(shí)施例中可以認(rèn)識(shí)到可能沒有在 本發(fā)明的所有實(shí)施例中呈現(xiàn)的額外的特征和優(yōu)點(diǎn)。 本發(fā)明的這些特征和優(yōu)點(diǎn)將從下面的描述和權(quán)利要求變得更充分明顯,或者可以 通過如此后提出的本發(fā)明的實(shí)踐而學(xué)習(xí)到。
現(xiàn)在將只通過示例的方式,參照附圖描述本發(fā)明的實(shí)施例,附圖中 圖1是圖示根據(jù)本發(fā)明的用于改進(jìn)網(wǎng)頁的下載時(shí)間的系統(tǒng)的一個(gè)實(shí)施例的示意
性方塊圖; 圖2是圖示根據(jù)本發(fā)明的存檔器(archiver)的一個(gè)實(shí)施例的示意性方塊圖;
圖3是圖示根據(jù)本發(fā)明的選擇模塊的一個(gè)實(shí)施例的示意性方塊圖;
圖4是圖示根據(jù)本發(fā)明的文檔對(duì)象模型(D0M)樹和排序的可存檔對(duì)象的一個(gè)實(shí)施 例的示意性方塊圖; 圖5是圖示根據(jù)本發(fā)明的存檔生成器模塊的一個(gè)實(shí)施例的示意性方塊圖;
圖6是圖示根據(jù)本發(fā)明的允許存檔的(archive enabled)瀏覽器的一個(gè)實(shí)施例的 示意性方塊圖; 圖7是圖示根據(jù)本發(fā)明的web服務(wù)器的一個(gè)實(shí)施例的示意性方塊圖; 圖8是圖示根據(jù)本發(fā)明的用于改進(jìn)網(wǎng)頁的下載時(shí)間的方法的一個(gè)實(shí)施例的示意
性流程圖; 圖9是圖示根據(jù)本發(fā)明的用于改進(jìn)web瀏覽器中的網(wǎng)頁的下載時(shí)間的方法的一個(gè) 實(shí)施例的示意性流程圖;以及 圖10是圖示根據(jù)本發(fā)明的用于改進(jìn)web服務(wù)器中的網(wǎng)頁的下載時(shí)間的方法的一 個(gè)實(shí)施例的示意性流程圖。
具體實(shí)施例方式
本說明書中描述的許多功能單元已經(jīng)標(biāo)記為模塊,以便更具體地強(qiáng)調(diào)它們的實(shí) 現(xiàn)獨(dú)立性。例如,模塊可以實(shí)現(xiàn)為硬件電路,其包括定制VLSI電路或門陣列、非定制的 (off-the-shelf)半導(dǎo)體,如邏輯芯片、晶體管或其它分立組件。模塊還可以以如場可編程 門陣列、可編程陣列邏輯、可編程邏輯設(shè)備等的可編程硬件設(shè)備實(shí)現(xiàn)。 模塊還可以以軟件實(shí)現(xiàn),該軟件用于由與不同形式的存儲(chǔ)器通信的各種類型的處 理器執(zhí)行。例如,可執(zhí)行代碼的識(shí)別模塊可包括計(jì)算機(jī)指令的一個(gè)或多個(gè)物理或邏輯塊,其 例如可以組織為對(duì)象、處理或功能。然而,可執(zhí)行的識(shí)別模塊不需要物理地位于一起,而是 可以包括存儲(chǔ)在不同位置的異類的指令,該指令在邏輯地結(jié)合在一起時(shí),包括模塊并實(shí)現(xiàn)模塊的所述目的。 實(shí)際上,可執(zhí)行代碼的模塊可以是單個(gè)指令或許多指令,并且甚至可以分布在若 干不同代碼段上、在不同程序當(dāng)中、并且跨越若干存儲(chǔ)器設(shè)備。類似地,在此操作數(shù)據(jù)可 以在模塊中識(shí)別和圖示,并且可以以任何適當(dāng)形式體現(xiàn)并組織在任何適當(dāng)類型的數(shù)據(jù)結(jié)構(gòu) 中。操作數(shù)據(jù)可以集合為單個(gè)數(shù)據(jù)組或可以分布在不同位置上(包括在不同存儲(chǔ)設(shè)備上), 并且可以至少部分地僅僅作為系統(tǒng)或網(wǎng)絡(luò)上的電信號(hào)而存在。 貫穿本說明書對(duì)"一個(gè)實(shí)施例"、"實(shí)施例"的引用或類似語言意味著關(guān)于實(shí)施例描 述的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個(gè)實(shí)施例中。因此,貫穿本說明書,短語 "在一個(gè)實(shí)施例中"、"在實(shí)施例中"和類似語言的出現(xiàn)可以但是不必全部指相同實(shí)施例。
對(duì)信號(hào)承載介質(zhì)的引用可以采用能夠生成信號(hào)、使得信號(hào)生成、或使得機(jī)器可讀 指令的程序在數(shù)字處理裝置上執(zhí)行的任何形式。信號(hào)承載介質(zhì)可以通過傳輸線、致密盤、數(shù) 字視頻盤、磁帶、Bernoulli驅(qū)動(dòng)器、磁盤、穿孔卡片、閃存、集成電路或其它數(shù)字處理裝置存 儲(chǔ)器設(shè)備來體現(xiàn)。 此外,描述的本發(fā)明的特征、結(jié)構(gòu)或特性可以以任何適當(dāng)方式在一個(gè)或多個(gè)實(shí)施 例中組合。在下面的描述中,提供了眾多特定的細(xì)節(jié),如編程的示例、軟件模塊、用戶選擇、 網(wǎng)絡(luò)事務(wù)、數(shù)據(jù)庫查詢、數(shù)據(jù)庫結(jié)構(gòu)、硬件模塊、硬件電路、硬件芯片等,以提供本發(fā)明實(shí)施 例的透徹理解。然而,相關(guān)領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,可以在沒有一個(gè)或多個(gè)特定細(xì)節(jié)的情況 下實(shí)踐本發(fā)明,或利用其它方法、組件、材料等實(shí)踐本發(fā)明。在其它實(shí)例中,沒有具體示出或 描述已知的結(jié)構(gòu)、材料或操作以避免混淆本發(fā)明的各方面。 圖1描繪了用于改進(jìn)網(wǎng)頁的下載時(shí)間的系統(tǒng)100的一個(gè)實(shí)施例。系統(tǒng)100可以包 括具有web服務(wù)器應(yīng)用104、存檔器106、和數(shù)據(jù)存儲(chǔ)108的web主機(jī)102。系統(tǒng)100還可 以包括網(wǎng)絡(luò)110和web客戶端112,該web客戶端112具有中央處理單元(CPU)114、存儲(chǔ)器 116和允許存檔的瀏覽器118。系統(tǒng)100用與網(wǎng)頁相關(guān)聯(lián)的存檔生成由允許存檔的瀏覽器 118可讀的網(wǎng)頁,以用于改進(jìn)的下載時(shí)間。 在一個(gè)實(shí)施例中,web主機(jī)102包括用于提供網(wǎng)頁給web客戶端112的硬件和軟 件組件。web主機(jī)102可以包括web服務(wù)器應(yīng)用104、存檔器106和數(shù)據(jù)存儲(chǔ)108。 web主 機(jī)102可以在網(wǎng)絡(luò)110上訪問。 在一個(gè)實(shí)施例中,web主機(jī)102包括web服務(wù)器應(yīng)用104。 web服務(wù)器應(yīng)用104包 括配置為在網(wǎng)絡(luò)上傳遞網(wǎng)頁的軟件。恥b服務(wù)器應(yīng)用104可配置為傳遞符合接受的標(biāo)準(zhǔn)(如 超文本標(biāo)記語言(HTML)文件)的網(wǎng)頁。兼容網(wǎng)頁的標(biāo)準(zhǔn)的其它示例包括可擴(kuò)展超文本標(biāo) 記語言(XHTML)、超文本預(yù)處理器(PHP)、萬維網(wǎng)協(xié)會(huì)(W3C)等。web服務(wù)器應(yīng)用的示例包括 Apache HTTP服務(wù)器、Microsoft⑧因特網(wǎng)信息服務(wù)器⑧、IBM HTTP服務(wù)器等。
在一個(gè)實(shí)施例中,web服務(wù)器應(yīng)用104還可以配置為傳遞與網(wǎng)頁相關(guān)聯(lián)的存檔。在 一個(gè)實(shí)施例中,這些存檔包括呈現(xiàn)網(wǎng)頁所需的對(duì)象。在本文檔的下面和稍后關(guān)于存檔器106 更詳細(xì)地描述存檔。 在一個(gè)實(shí)施例中,存檔器106生成為改進(jìn)的下載時(shí)間而優(yōu)化的網(wǎng)頁。存檔器106可 以從網(wǎng)頁中引用的對(duì)象生成一個(gè)或多個(gè)存檔。該存檔的每個(gè)由在網(wǎng)頁中引用的多個(gè)對(duì)象組 成。如在此使用的術(shù)語"存檔"意味著以分類或不分類方式封裝到單個(gè)文件中以用于單次 傳輸?shù)亩鄠€(gè)數(shù)據(jù)對(duì)象的選擇。當(dāng)存檔發(fā)送到web客戶端112時(shí),它可以包括單個(gè)報(bào)頭。相反,分開傳輸每個(gè)對(duì)象涉及用于每個(gè)對(duì)象的分開的報(bào)頭。因?yàn)橐粋€(gè)或多個(gè)存檔的每個(gè)包括 多個(gè)對(duì)象,并且替代用于存檔中每個(gè)對(duì)象的報(bào)頭,可以利用單個(gè)報(bào)頭傳輸存檔,所以減少了 要求的報(bào)頭的總的大小。在另一實(shí)施例中,存檔可以包括用于每個(gè)對(duì)象的多個(gè)報(bào)頭,但是簡 化這些報(bào)頭以減少總的報(bào)頭尺寸。 然后,web服務(wù)器應(yīng)用104可以傳遞單個(gè)存檔,以替代在網(wǎng)頁中引用的單獨(dú)對(duì)象的 每個(gè)。因?yàn)榇鏅n中的每個(gè)對(duì)象只要求簡單報(bào)頭或甚至不再要求單獨(dú)報(bào)頭,并且沒有與每個(gè) 單獨(dú)對(duì)象相關(guān)聯(lián)的分開的等待時(shí)間,所以減少了對(duì)于網(wǎng)頁的整體下載時(shí)間。
在一個(gè)實(shí)施例中,由存檔器106生成的網(wǎng)頁能夠通過允許存檔的瀏覽器118呈現(xiàn)。 允許存檔的瀏覽器118能夠接收與網(wǎng)頁相關(guān)聯(lián)的存檔并使用從存檔解封裝的對(duì)象呈現(xiàn)網(wǎng) 頁。生成的網(wǎng)頁可以是要求允許存檔的瀏覽器118呈現(xiàn)的特定格式。例如,生成的網(wǎng)頁可 以包括HTML文件和一個(gè)或多個(gè)相關(guān)聯(lián)的存檔。允許存檔的瀏覽器118可以處理HTML文件 和一個(gè)或多個(gè)相關(guān)聯(lián)的存檔以呈現(xiàn)網(wǎng)頁。在一個(gè)實(shí)施例中,允許存檔的瀏覽器118處理網(wǎng) 頁的HTML文件中的標(biāo)簽和一個(gè)或多個(gè)存檔中的報(bào)頭,以確定存檔中的對(duì)象的適當(dāng)位置。下 面參照?qǐng)D6描述了允許存檔的瀏覽器118如何處理存檔的一個(gè)示例。 在一個(gè)實(shí)施例中,存檔器106可以從靜態(tài)網(wǎng)頁、利用網(wǎng)頁中引用的對(duì)象的存檔來 生成優(yōu)化使用的網(wǎng)頁(以下稱為"存檔優(yōu)化的網(wǎng)頁")。靜態(tài)網(wǎng)頁是具有不響應(yīng)于與網(wǎng)頁相 關(guān)聯(lián)的參數(shù)而改變的內(nèi)容的網(wǎng)頁。存檔器106可以使用與靜態(tài)網(wǎng)頁相關(guān)聯(lián)的對(duì)象生成一個(gè) 或多個(gè)存檔。在一個(gè)實(shí)施例中,存檔器106可以響應(yīng)于web客戶端112對(duì)網(wǎng)頁的請(qǐng)求,對(duì)靜 態(tài)網(wǎng)頁生成存檔優(yōu)化的網(wǎng)頁。 在另一實(shí)施例中,存檔器106可以與web客戶端112對(duì)網(wǎng)頁的請(qǐng)求異步地,對(duì)靜態(tài) 網(wǎng)頁生成存檔優(yōu)化的網(wǎng)頁。在另一實(shí)施例中,存檔器106可以對(duì)一批靜態(tài)網(wǎng)頁生成一批存 檔優(yōu)化的網(wǎng)頁。存檔器106可以對(duì)存檔優(yōu)化的網(wǎng)頁生成一個(gè)或多個(gè)存檔??梢源鎯?chǔ)生成的 存檔優(yōu)化的網(wǎng)頁和用于存檔優(yōu)化的網(wǎng)頁的一個(gè)或多個(gè)存檔以用于由web主機(jī)102訪問。對(duì) 靜態(tài)網(wǎng)頁的請(qǐng)求可以導(dǎo)致生成的存檔優(yōu)化的網(wǎng)頁和存檔的傳遞,該存檔優(yōu)化的網(wǎng)頁和存檔 都在接收對(duì)網(wǎng)頁的請(qǐng)求之前生成。在該實(shí)施例中,存檔器106可以生成存檔優(yōu)化的網(wǎng)頁和 存檔,同時(shí)web主機(jī)102不處于重負(fù)載之下。 在另一實(shí)施例中,存檔器106可以對(duì)動(dòng)態(tài)網(wǎng)頁生成存檔優(yōu)化的網(wǎng)頁和存檔。動(dòng)態(tài) 網(wǎng)頁是響應(yīng)于對(duì)網(wǎng)頁的請(qǐng)求而創(chuàng)建的網(wǎng)頁。在請(qǐng)求之前,動(dòng)態(tài)網(wǎng)頁可以不存在。在該實(shí)施 例中,存檔器106響應(yīng)于web客戶端112對(duì)動(dòng)態(tài)網(wǎng)頁的請(qǐng)求,動(dòng)態(tài)生成存檔優(yōu)化的網(wǎng)頁和存 檔。例如,web客戶端112可以從web主機(jī)102請(qǐng)求網(wǎng)頁,該網(wǎng)頁包括來自數(shù)據(jù)存儲(chǔ)108的 數(shù)據(jù)并且響應(yīng)于請(qǐng)求而創(chuàng)建。存檔器106可以從數(shù)據(jù)存儲(chǔ)108接收數(shù)據(jù),并且生成存檔優(yōu) 化的網(wǎng)頁和用于網(wǎng)頁的存檔。生成的網(wǎng)頁和存檔然后可以通過web服務(wù)器應(yīng)用104傳遞給 web客戶端112。 在替代實(shí)施例中,存檔器106生成存檔,該存檔包括允許存檔的瀏覽器118呈現(xiàn)網(wǎng) 頁所需的全部文件。例如,存檔器106可以生成包括用于請(qǐng)求的網(wǎng)頁的全部要求的內(nèi)容的 一個(gè)或多個(gè)存檔,并且將該一個(gè)或多個(gè)存檔傳遞給允許存檔的瀏覽器118以用于呈現(xiàn)。
在一個(gè)實(shí)施例中,數(shù)據(jù)存儲(chǔ)108可以包括在web主機(jī)102中。數(shù)據(jù)存儲(chǔ)108中的數(shù) 據(jù)可以包括完整的網(wǎng)頁、用于生成網(wǎng)頁的數(shù)據(jù)、預(yù)定義的存檔、和用于呈現(xiàn)網(wǎng)頁的對(duì)象。例 如,數(shù)據(jù)存儲(chǔ)108可以包括包含數(shù)據(jù)文件的一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器。在另一實(shí)施例中,數(shù)據(jù)存儲(chǔ)108包括數(shù)據(jù)庫。在另外實(shí)施例中,數(shù)據(jù)存儲(chǔ)108包括閃存設(shè)備。
在一個(gè)實(shí)施例中,網(wǎng)絡(luò)110提供用于web主機(jī)102和web客戶端112之間的數(shù)據(jù) 傳輸?shù)慕橘|(zhì)。網(wǎng)絡(luò)110可以將請(qǐng)求從web客戶端112傳輸給web主機(jī)102。網(wǎng)絡(luò)110還可 以將生成的網(wǎng)頁和存檔從web主機(jī)102傳輸給web客戶端112。網(wǎng)絡(luò)110可以是能夠傳輸 這種數(shù)據(jù)的任何網(wǎng)絡(luò),如因特網(wǎng)。網(wǎng)絡(luò)110的其它示例包括內(nèi)聯(lián)網(wǎng)、直接網(wǎng)絡(luò)連接等。在 一個(gè)實(shí)施例中,web客戶端112呈現(xiàn)生成的網(wǎng)頁以用于顯示。web客戶端112可以包括CPU 114、存儲(chǔ)器116和允許存檔的瀏覽器118。在一個(gè)實(shí)施例中,web客戶端112使用來自存檔 的對(duì)象呈現(xiàn)生成的網(wǎng)頁。 在一個(gè)實(shí)施例中,允許存檔的瀏覽器118是能夠處理包含與存檔優(yōu)化的網(wǎng)頁相關(guān) 聯(lián)的對(duì)象的存檔的web瀏覽器。對(duì)象的示例包括圖像文件(如jpeg、gif 、bmp等)、腳本文 件或網(wǎng)頁中使用的其它對(duì)象。 在一個(gè)實(shí)施例中,允許存檔的瀏覽器118從web主機(jī)102請(qǐng)求網(wǎng)頁。網(wǎng)頁可以包 括對(duì)能夠包括在存檔中的一個(gè)或多個(gè)對(duì)象(在此稱為可存檔對(duì)象)的引用。web主機(jī)102 可以將引用存檔的生成的網(wǎng)頁(即,存檔優(yōu)化的網(wǎng)頁)傳遞給允許存檔的瀏覽器118。允許 存檔的瀏覽器118可以執(zhí)行并入允許存檔的瀏覽器118中的軟件指令(原始對(duì)象代碼或增 加的插件程序或擴(kuò)展),以從web主機(jī)102檢索存檔。并入允許存檔的瀏覽器118中的額外 的可執(zhí)行代碼(原始對(duì)象代碼或增加的插件程序或擴(kuò)展)被允許存檔的瀏覽器118執(zhí)行, 以從存檔中解封裝可存檔對(duì)象,并且使用可存檔對(duì)象呈現(xiàn)網(wǎng)頁。 圖2圖示存檔器106的一個(gè)實(shí)施例。存檔器106可以包括存檔成本/收益模塊 202、選擇模塊204和存檔生成器模塊206。存檔器106生成存檔和具有改進(jìn)的下載時(shí)間的 相關(guān)網(wǎng)頁。 在一個(gè)實(shí)施例中,存檔成本/收益模塊202確定與生成存檔和相關(guān)聯(lián)的存檔優(yōu)化 的網(wǎng)頁相關(guān)聯(lián)的計(jì)算成本是否超過網(wǎng)頁的改進(jìn)的下載時(shí)間的收益。如果下載時(shí)間的計(jì)劃改 進(jìn)超過與生成網(wǎng)頁和存檔相關(guān)聯(lián)的開銷成本,則存檔成本/收益模塊202可以指示存檔器 106應(yīng)當(dāng)生成存檔優(yōu)化的網(wǎng)頁和相關(guān)聯(lián)的存檔。 在某些實(shí)施例中,存檔成本/收益模塊202可以采用試探(heuristic)功能來 確定是否應(yīng)當(dāng)生成存檔優(yōu)化的網(wǎng)頁和存檔。例如,存檔成本/收益模塊202可以計(jì)劃 (project)用于生成存檔優(yōu)化的網(wǎng)頁和存檔的計(jì)算成本。如果計(jì)算成本低于閾值,則成本/ 收益模塊202可以指示存檔器106應(yīng)生成存檔優(yōu)化的網(wǎng)頁和存檔。在替代實(shí)施例中,存檔 成本/收益模塊202還可以計(jì)劃與和存檔以及存檔優(yōu)化的網(wǎng)頁相關(guān)聯(lián)的下載時(shí)間的改進(jìn)相 關(guān)聯(lián)的值。成本/收益模塊202可以指示應(yīng)當(dāng)響應(yīng)于計(jì)劃的計(jì)算成本和計(jì)劃的收益之間的 比率低于閾值而生成存檔優(yōu)化的網(wǎng)頁和存檔。 例如,存檔成本/收益模塊202可以基于利用包括要生成的存檔的數(shù)目、網(wǎng)頁中的 可存檔對(duì)象的數(shù)目、以及網(wǎng)頁的大小的輸入的模型,導(dǎo)出成本值。存檔成本/收益模塊202 還可以導(dǎo)出收益值,其估計(jì)在使用存檔傳遞網(wǎng)頁中的時(shí)間相對(duì)于傳遞未修改的網(wǎng)頁所需要 的時(shí)間的減少。收益值可以使用包括要生成的存檔的數(shù)目、網(wǎng)頁中可存檔對(duì)象的數(shù)目和網(wǎng) 頁的大小的輸入來建模。在該示例中,存檔成本/收益模塊202生成成本值和收益值之間 的比率。該比率的閾值可以任意選擇或基于其它測試和模型預(yù)先計(jì)算,該閾值確定應(yīng)當(dāng)生 成還是不生成存檔優(yōu)化的網(wǎng)頁。
在一個(gè)實(shí)施例中,對(duì)于響應(yīng)于對(duì)網(wǎng)頁的請(qǐng)求必須生成的存檔優(yōu)化的網(wǎng)頁和對(duì)于異步生成的存檔優(yōu)化的網(wǎng)頁,通過存檔成本/收益模塊202進(jìn)行的確定可以不同。例如,存檔成本/收益模塊202可以在web主機(jī)102上的輕負(fù)載時(shí)間期間評(píng)估靜態(tài)網(wǎng)頁,并且確定應(yīng)當(dāng)對(duì)網(wǎng)頁生成存檔。在生成存檔后,對(duì)網(wǎng)頁的請(qǐng)求將導(dǎo)致異步生成的存檔和存檔優(yōu)化的網(wǎng)頁的傳遞。然而,如果在生成存檔之前接收對(duì)網(wǎng)頁的請(qǐng)求,則存檔成本/收益模塊202可以得到不同結(jié)論,這是因?yàn)閷⑿枰谡?qǐng)求的瀏覽器等待存檔的同時(shí)生成存檔。當(dāng)必須響應(yīng)于對(duì)網(wǎng)頁的請(qǐng)求而生成存檔優(yōu)化的網(wǎng)頁時(shí)、或當(dāng)web主機(jī)102上的負(fù)載相對(duì)高時(shí),生成相同的存檔優(yōu)化的網(wǎng)頁可能被存檔成本/收益模塊202確定為成本太高。 在一個(gè)實(shí)施例中,選擇模塊204選擇由存檔優(yōu)化的網(wǎng)頁引用的對(duì)象以用于包括在存檔中。選擇模塊204基于選擇標(biāo)準(zhǔn)選擇對(duì)象,該選擇標(biāo)準(zhǔn)確定對(duì)象是否應(yīng)當(dāng)在存檔中而不是分開傳遞到web客戶端112。選擇標(biāo)準(zhǔn)的一個(gè)示例是對(duì)象的大小,其中具有較小大小的對(duì)象比具有較大大小的對(duì)象更可能從包括在存檔中而收益。在一個(gè)實(shí)施例中,選擇模塊204可以選擇具有低于閾值的大小的對(duì)象。例如,閾值可以是3k字節(jié),并且選擇模塊可以選擇具有小于3k字節(jié)的大小的對(duì)象。 在一個(gè)實(shí)施例中,存檔生成器模塊206生成與存檔優(yōu)化的網(wǎng)頁相關(guān)聯(lián)的一個(gè)或多個(gè)存檔。存檔生成器模塊206使用由選擇模塊204選擇的對(duì)象來形成一個(gè)或多個(gè)存檔。在執(zhí)行允許存檔的瀏覽器118的可執(zhí)行代碼后,該一個(gè)或多個(gè)存檔響應(yīng)于由web客戶端112進(jìn)行的請(qǐng)求而傳遞到web客戶端112。 圖3圖示選擇模塊204的一個(gè)實(shí)施例。選擇模塊204可以包括文檔對(duì)象模型(DOM)樹掃描器模塊302、選擇標(biāo)準(zhǔn)模塊304、存檔大小模塊306、對(duì)象優(yōu)先級(jí)區(qū)分模塊308和對(duì)象優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)模塊310。選擇模塊204從網(wǎng)頁選擇可存檔對(duì)象以用于包括在一個(gè)或多個(gè)存檔中。 在一個(gè)實(shí)施例中,DOM樹掃描器模塊302掃描網(wǎng)頁的DOM樹。DOM樹定義網(wǎng)頁的邏輯結(jié)構(gòu)。網(wǎng)頁中的對(duì)象在DOM樹中按照層次結(jié)構(gòu)安排,其中一些對(duì)象從屬于其它對(duì)象,并且全部對(duì)象從屬于根對(duì)象。通過利用DOM樹掃描器模塊302掃描DOM樹,選擇模塊204確定關(guān)于網(wǎng)頁中的對(duì)象的信息,如什么對(duì)象被網(wǎng)頁引用、網(wǎng)頁中引用的對(duì)象的類型、對(duì)象的大小和網(wǎng)頁中引用的各對(duì)象之間的相對(duì)從屬性。 在一個(gè)實(shí)施例中,選擇標(biāo)準(zhǔn)模塊304包括確定對(duì)象是否為可存檔對(duì)象的一個(gè)或多個(gè)選擇標(biāo)準(zhǔn)??纱鏅n對(duì)象是應(yīng)當(dāng)(或已經(jīng)確定為)包括在存檔中的對(duì)象。根據(jù)選擇標(biāo)準(zhǔn)判斷網(wǎng)頁中引用的對(duì)象,以確定它們是否為可存檔對(duì)象。選擇標(biāo)準(zhǔn)的示例包括對(duì)象的最大尺寸和對(duì)象的類型。例如,選擇標(biāo)準(zhǔn)模塊304可以包括可存檔對(duì)象應(yīng)當(dāng)具有小于3k字節(jié)的大小的標(biāo)準(zhǔn)。另一標(biāo)準(zhǔn)可以是可存檔對(duì)象必須是圖像文件。 在一個(gè)實(shí)施例中,存檔大小模塊306確定存檔的目標(biāo)大小。存檔大小模塊306可以通過確定網(wǎng)頁的大小來確定存檔的目標(biāo)大小。在一個(gè)實(shí)施例中,網(wǎng)頁的大小包括網(wǎng)頁中引用的對(duì)象的大小的和。在另一實(shí)施例中,網(wǎng)頁的大小包括增加到網(wǎng)頁中引用的對(duì)象的大小的和的網(wǎng)頁的HTML文件的大小。 在一個(gè)實(shí)施例中,存檔大小模塊306將存檔的目標(biāo)大小設(shè)為網(wǎng)頁的大小的分?jǐn)?shù)。在一個(gè)實(shí)施例中,目標(biāo)大小為網(wǎng)頁大小的四分之一。多數(shù)傳統(tǒng)web瀏覽器配置為打開達(dá)四個(gè)與web服務(wù)器的同時(shí)連接。結(jié)果,大于網(wǎng)頁大小的四分之一的存檔將導(dǎo)致通過創(chuàng)建存檔
14實(shí)現(xiàn)的性能收益的收益遞減(diminishing returns)。在另一實(shí)施例中,目標(biāo)大小是在網(wǎng)頁中引用的對(duì)象的整體大小的百分比。在另一實(shí)施例中,目標(biāo)大小是網(wǎng)頁的大小的一部分,并且該部分可包括比率、百分比或另外形式的度量,使得生成的存檔小于網(wǎng)頁的大小。
在一個(gè)實(shí)施例中,對(duì)象優(yōu)先級(jí)區(qū)分模塊308確定網(wǎng)頁中引用的可存檔對(duì)象的優(yōu)先級(jí)。對(duì)象的優(yōu)先級(jí)可以從對(duì)象優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)模塊310通過對(duì)象優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)而確定。通過對(duì)象優(yōu)先級(jí)區(qū)分模塊308確定的優(yōu)先級(jí)確定存檔中的可存檔對(duì)象的順序。具有較高優(yōu)先級(jí)的可存檔對(duì)象排序在具有較低優(yōu)先級(jí)的可存檔對(duì)象之前。例如,定義網(wǎng)頁中的表格的可存檔對(duì)象可以被分配比由表格中的圖像構(gòu)成的可存檔對(duì)象更高的優(yōu)先級(jí)。因?yàn)槎x表格的可存檔對(duì)象具有比圖像更高的優(yōu)先級(jí),所以定義表格的可存檔對(duì)象排序在圖像之前。通過區(qū)分可存檔對(duì)象的優(yōu)先級(jí)并對(duì)其排序,可以通過在解封裝可存檔對(duì)象時(shí)放置解封裝的可存檔對(duì)象,更有效地呈現(xiàn)存檔優(yōu)化的網(wǎng)頁。 在一個(gè)實(shí)施例中,對(duì)象優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)模塊310包括一個(gè)或多個(gè)對(duì)象優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn),其確定在存檔優(yōu)化的網(wǎng)頁中引用的對(duì)象的優(yōu)先級(jí)。對(duì)象優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)涉及存檔優(yōu)化的網(wǎng)頁中引用的可存檔對(duì)象的特性。例如,將DOM樹中較高的對(duì)象排序在DOM樹中較低的對(duì)象之前,這可以改進(jìn)頁面的呈現(xiàn),因?yàn)樵趶拇鏅n中移除的對(duì)象所從屬的對(duì)象可用之前,該從存檔中移除的對(duì)象不能呈現(xiàn)。因此,在一個(gè)實(shí)施例中,可存檔對(duì)象的DOM樹中的層次級(jí)是對(duì)象優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)。例如,具有相對(duì)高的層次級(jí)(意味著從DOM樹的根起相對(duì)較少的步幅)的可存檔對(duì)象可以比具有相對(duì)低的層次級(jí)(意味著從DOM樹的根起相對(duì)較多的步幅)的可存檔對(duì)象具有更高的優(yōu)先級(jí)。結(jié)果,具有較高優(yōu)先級(jí)的可存檔對(duì)象排序在存檔內(nèi),使得其解封裝和呈現(xiàn)得更早。 由于相同原因,在另一實(shí)施例中,對(duì)象優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)可以包括DOM樹中派生對(duì)象的數(shù)目。例如,具有相對(duì)大的數(shù)目的派生對(duì)象的可存檔對(duì)象可以比具有相對(duì)小的數(shù)目的派生對(duì)象的可存檔對(duì)象被分配更高的優(yōu)先級(jí)。該標(biāo)準(zhǔn)的結(jié)果是關(guān)于在從存檔移除派生可存檔對(duì)象之前、前提(prerequisite)可存檔對(duì)象可用的可能性的改進(jìn)。 當(dāng)存檔最小的對(duì)象時(shí),可以實(shí)現(xiàn)性能的最大提高。因此,在一個(gè)實(shí)施例中,可存檔對(duì)象的大小是對(duì)象優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)。例如,如果可存檔對(duì)象的總大小超過通過存檔大小模塊306確定的存檔大小,則較小的可存檔對(duì)象可以被分配比相對(duì)大的可存檔對(duì)象高的優(yōu)先級(jí)。結(jié)果,較小的可存檔對(duì)象將包括在存檔中以改進(jìn)存檔的性能。相對(duì)大的可存檔對(duì)象由于大小限制而可能不放置在存檔中。 圖4圖示用于存檔優(yōu)化的網(wǎng)頁的DOM樹402和用于存檔的排序的可存檔對(duì)象404的一個(gè)實(shí)施例。DOM樹402可以包括在層次級(jí)406-410中安排的多個(gè)對(duì)象412-422。 DOM樹402是對(duì)象優(yōu)化的網(wǎng)頁中的對(duì)象412-422之間的關(guān)系的表示。級(jí)別2408中的對(duì)象依賴于級(jí)別1406中的對(duì)象,級(jí)別3410中的對(duì)象依賴于級(jí)別2408中的前提對(duì)象等。例如,級(jí)別3410中的對(duì)象2416依賴于級(jí)別2408中的對(duì)象1414。 在一個(gè)實(shí)施例中,較低級(jí)別中的對(duì)象不能適當(dāng)?shù)爻尸F(xiàn)在存檔優(yōu)化的網(wǎng)頁中,直到前提對(duì)象呈現(xiàn)在存檔優(yōu)化的網(wǎng)頁中。例如,對(duì)象1414可以是存檔優(yōu)化的網(wǎng)頁中的表格,并且對(duì)象2416可以表示對(duì)象1414的表格中的圖像。因?yàn)閷?duì)象2416的圖像定義為在對(duì)象1414的表格中,所以在表格呈現(xiàn)之前它不能呈現(xiàn)在存檔優(yōu)化的網(wǎng)頁中。 作為這些從屬性和其它考慮的結(jié)果,由選擇模塊204選擇的可存檔對(duì)象可以通過對(duì)象優(yōu)先級(jí)區(qū)分模塊308區(qū)分優(yōu)先級(jí)并排序作為排序的可存檔對(duì)象404。例如,對(duì)象選擇模塊204可以確定對(duì)象1414、對(duì)象3418、對(duì)象4420和對(duì)象5滿足一組選擇標(biāo)準(zhǔn),并且指定這些對(duì)象作為可存檔對(duì)象。對(duì)象選擇模塊204還可以確定對(duì)象2416不滿足一組選擇標(biāo)準(zhǔn),例如,對(duì)象2416可能具有大于閾值的大小。 選擇模塊204還可以將可存檔對(duì)象排序?yàn)榕判虻目纱鏅n對(duì)象404。對(duì)象優(yōu)先級(jí)區(qū)分模塊308可以根據(jù)對(duì)象優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)排序可存檔對(duì)象。例如,對(duì)象1414和對(duì)象4420由于它們?cè)贒0M樹402中在級(jí)別2408處的相對(duì)高的位置,可以被分配高優(yōu)先級(jí)。對(duì)象1414可以被分配比對(duì)象4420更高的優(yōu)先級(jí),因?yàn)閷?duì)象1414具有比對(duì)象4420更多的從屬對(duì)象。結(jié)果,在排序的可存檔對(duì)象404中,對(duì)象1414可以排序在對(duì)象4420之前。
圖5圖示存檔生成器模塊206的一個(gè)實(shí)施例。存檔生成器模塊206可以包括對(duì)象排序模塊502、存檔壓縮器模塊504和壓縮試探模塊506。存檔生成器模塊206使用由選擇模塊204選擇的可存檔對(duì)象生成存檔文件。 在一個(gè)實(shí)施例中,對(duì)象排序模塊502根據(jù)可存檔對(duì)象的優(yōu)先級(jí)排序可存檔對(duì)象。可存檔對(duì)象的優(yōu)先級(jí)可以根據(jù)對(duì)象優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)由對(duì)象優(yōu)先級(jí)區(qū)分模塊308確定。對(duì)象排序模塊502排序可存檔對(duì)象,使得在生成的存檔中,相對(duì)高優(yōu)先級(jí)的可存檔對(duì)象排序在相對(duì)低優(yōu)先級(jí)的可存檔對(duì)象之前。 在一個(gè)實(shí)施例中,存檔壓縮器模塊504壓縮生成的存檔。文件壓縮器模塊504可
以使用任何數(shù)據(jù)壓縮方法壓縮生成的存檔。可以用于壓縮存檔的數(shù)據(jù)壓縮方法的示例包括gzip、 zip、 LZX、算術(shù)編碼等。 存檔生成器模塊206可以依賴壓縮試探模塊506來確定是否應(yīng)當(dāng)壓縮生成的存檔。在某些情況下,壓縮存檔可能證明是低效的。例如,如jpeg文件的許多圖像文件被預(yù)壓縮。如果構(gòu)成存檔的可存檔對(duì)象包括高比例的預(yù)壓縮圖像文件,則利用額外的壓縮器處理存檔將導(dǎo)致計(jì)算成本、但是相對(duì)有限的存檔的大小的改進(jìn)。 其中生成的存檔可以不壓縮的情況的另一示例出現(xiàn)在動(dòng)態(tài)網(wǎng)頁的存檔生成期間。當(dāng)對(duì)動(dòng)態(tài)存檔優(yōu)化的網(wǎng)頁生成存檔時(shí),web主機(jī)102上的服務(wù)器負(fù)載可能高。在請(qǐng)求的web客戶端112等待的同時(shí)壓縮存檔所要求的計(jì)算成本和時(shí)間可能超過存檔的大小的減少。
當(dāng)壓縮的成本超過存檔的大小的減少的收益時(shí),為了避免試圖壓縮生成的存檔,在一個(gè)實(shí)施例中,壓縮試探模塊506確定何時(shí)應(yīng)當(dāng)壓縮存檔。例如,壓縮試探模塊506可以確定存檔中圖像的比例。當(dāng)存檔中圖像的比例低于閾值級(jí)別時(shí),壓縮試探模塊506可以確定應(yīng)當(dāng)壓縮存檔。 圖6圖示允許存檔的瀏覽器118的一個(gè)實(shí)施例。允許存檔的瀏覽器118可以包括瀏覽器參數(shù)傳輸模塊602、存檔響應(yīng)接收器模塊604、歷史傳輸模塊606、連接模塊608、存檔檢索模塊610、存檔解封裝模塊612和頁面呈現(xiàn)模塊614。允許存檔的瀏覽器118檢索并呈現(xiàn)使用存檔的存檔優(yōu)化的網(wǎng)頁。 在一個(gè)實(shí)施例中,由允許存檔的瀏覽器118檢索和呈現(xiàn)的存檔優(yōu)化的網(wǎng)頁可以是網(wǎng)頁的第一實(shí)例。例如,存檔優(yōu)化的網(wǎng)頁可以響應(yīng)于來自web客戶端112的請(qǐng)求動(dòng)態(tài)生成。在另一示例中,可以響應(yīng)于通過web設(shè)計(jì)者對(duì)網(wǎng)頁的設(shè)計(jì)而生成由允許存檔的瀏覽器118檢索和呈現(xiàn)的存檔優(yōu)化的網(wǎng)頁。在該示例中,存檔器106可以鏈接到web設(shè)計(jì)軟件或與web設(shè)計(jì)軟件集成。
在另一實(shí)施例中,由允許存檔的瀏覽器118檢索和呈現(xiàn)的網(wǎng)頁可以是不包括對(duì)存檔的引用的現(xiàn)有網(wǎng)頁。在該實(shí)施例中,重寫現(xiàn)有的網(wǎng)頁以包括對(duì)存檔的引用。例如,存檔生成器模塊206可以訪問靜態(tài)網(wǎng)頁并使用可存檔對(duì)象和相關(guān)聯(lián)的存檔優(yōu)化的網(wǎng)頁來生成存檔。在另一示例中,存檔生成器模塊206可以對(duì)不包括對(duì)存檔的引用的動(dòng)態(tài)生成的網(wǎng)頁操作。在該示例中,重寫動(dòng)態(tài)生成的網(wǎng)頁以創(chuàng)建可以使用來自存檔的可存檔對(duì)象呈現(xiàn)的存檔優(yōu)化的網(wǎng)頁。 存檔優(yōu)化的網(wǎng)頁可以包括鏈接到存檔中的可存檔對(duì)象的HTML標(biāo)簽。例如,如果存檔名稱為"html, archive"并且存檔中的可存檔對(duì)象名稱為"objl",則HTML標(biāo)簽中的統(tǒng)一資源標(biāo)識(shí)符(URL)可以是"html. archive/objl"。 在一個(gè)實(shí)施例中,瀏覽器參數(shù)傳輸模塊602將涉及允許存檔的瀏覽器的能力的一個(gè)或多個(gè)瀏覽器參數(shù)傳輸給web服務(wù)器104。該一個(gè)或多個(gè)瀏覽器參數(shù)可以包括指示符。在一個(gè)實(shí)施例中,瀏覽器參數(shù)傳輸模塊602發(fā)送包括指示符的瀏覽器參數(shù),該指示符指示允許存檔的瀏覽器118能夠接收和/或呈現(xiàn)包括存檔的存檔優(yōu)化的網(wǎng)頁。例如,瀏覽器參數(shù)傳輸模塊602可以發(fā)送明確指示允許存檔的瀏覽器118能夠使用存檔呈現(xiàn)頁面的指示符。在另一示例中,瀏覽器參數(shù)傳輸模塊602可以發(fā)送允許存檔的瀏覽器118的版本號(hào)。web服務(wù)器104可以比較該版本號(hào)與已知能夠呈現(xiàn)包括存檔的存檔優(yōu)化的網(wǎng)頁的瀏覽器的列表,并且作為該比較的結(jié)果,確定允許存檔的瀏覽器的能力。 在另一實(shí)施例中,瀏覽器參數(shù)傳輸模塊602發(fā)送包括指示符的瀏覽器參數(shù),該指示符指示可用于允許存檔的瀏覽器118使用的連接的數(shù)目。例如,在一個(gè)實(shí)施例中,允許存檔的瀏覽器118具有由主機(jī)計(jì)算機(jī)和/或操作系統(tǒng)規(guī)定可用的連接的數(shù)目。在一個(gè)示例中,允許存檔的瀏覽器118可以被允許最大四個(gè)連接。瀏覽器參數(shù)傳輸模塊602可以發(fā)送瀏覽器參數(shù)到web服務(wù)器104,指示允許存檔的瀏覽器118具有四個(gè)可用連接。
在一個(gè)實(shí)施例中,存檔響應(yīng)接收器模塊604從web服務(wù)器104接收存檔響應(yīng)參數(shù)。在一個(gè)實(shí)施例中,該存檔響應(yīng)參數(shù)包括指示符。該指示符可以指示web服務(wù)器104能夠傳遞存檔。在一個(gè)實(shí)施例中,web服務(wù)器104響應(yīng)于允許存檔的瀏覽器118能夠接收存檔的確定,發(fā)送存檔響應(yīng)參數(shù)。在另一實(shí)施例中,web服務(wù)器104發(fā)送存檔響應(yīng)參數(shù)而不管請(qǐng)求網(wǎng)頁的web瀏覽器的類型。 在一個(gè)實(shí)施例中,歷史傳輸模塊606將允許存檔的web瀏覽器118的歷史傳輸?shù)絯eb服務(wù)器104。在一個(gè)實(shí)施例中,歷史包括來自之前與web服務(wù)器104和/或其它web服務(wù)器的事務(wù)的、由允許存檔的瀏覽器保持的對(duì)象的列表。保持的對(duì)象可以存儲(chǔ)在易失性存儲(chǔ)高速緩存(如存儲(chǔ)器)中或非易失性存儲(chǔ)高速緩存(如硬盤驅(qū)動(dòng)器)中。在一個(gè)實(shí)施例中,歷史傳輸模塊606響應(yīng)于接收到指示web服務(wù)器104能夠傳遞存檔的存檔響應(yīng)參數(shù),傳輸歷史。 在一個(gè)實(shí)施例中,web服務(wù)器104使用該歷史,以生成使用對(duì)于請(qǐng)求的網(wǎng)頁的對(duì)象的高速緩存版本的存檔和存檔優(yōu)化的網(wǎng)頁。例如,該歷史可以指示請(qǐng)求的存檔優(yōu)化的網(wǎng)頁中的若干對(duì)象已經(jīng)存在于允許存檔的瀏覽器118的高速緩存中。存檔器106可以生成不包括高速緩存的對(duì)象的存檔。web服務(wù)器104可以發(fā)送存檔優(yōu)化的網(wǎng)頁,其指導(dǎo)允許存檔的瀏覽器118使用允許存檔的瀏覽器118的高速緩存中的對(duì)象來呈現(xiàn)存檔優(yōu)化的網(wǎng)頁。
在一個(gè)實(shí)施例中,連接模塊608打開允許存檔的瀏覽器118和web服務(wù)器104之間的一個(gè)或多個(gè)連接。在一個(gè)實(shí)施例中,連接模塊608打開與可用于允許存檔的瀏覽器118 的連接的數(shù)目相等的數(shù)目的連接。在另一實(shí)施例中,連接模塊608打開與可用于web服務(wù) 器104使用的連接的數(shù)目相等的數(shù)目的連接。在另一實(shí)施例中,連接模塊608打開在web 服務(wù)器104和允許存檔的瀏覽器118之間協(xié)商的數(shù)目的連接。 例如,請(qǐng)求的存檔優(yōu)化的網(wǎng)頁可以包括比可用于web服務(wù)器104和允許存檔的瀏 覽器118的連接的數(shù)目更低的數(shù)目的存檔。在該示例中,連接模塊608可以建立與存檔的 數(shù)目相等的數(shù)目的連接。 在一個(gè)實(shí)施例中,存檔檢索模塊610通過一個(gè)可用連接檢索存檔。存檔檢索模塊
610可以使得web客戶端112從web主機(jī)102檢索用于存檔優(yōu)化的網(wǎng)頁的存檔。 一旦檢索
到,web客戶端112將存檔存儲(chǔ)在客戶端設(shè)備上的暫時(shí)或永久存儲(chǔ)器中。 在一個(gè)實(shí)施例中,存檔解封裝模塊612對(duì)存檔解封裝。存檔解封裝模塊612可以
包括使得web客戶端112放置并解封裝檢索的存檔的指令。在一個(gè)實(shí)施例中,解封裝存檔
包括從存檔中提取可存檔對(duì)象。存檔解封裝模塊612將可存檔對(duì)象存儲(chǔ)在暫時(shí)或永久存儲(chǔ)器中。 可以按照順序提取可存檔對(duì)象,意味著按照由對(duì)象優(yōu)先級(jí)區(qū)分模塊308確定的順 序或按照由對(duì)象排序模塊502確定的順序提取可存檔對(duì)象。在一個(gè)實(shí)施例中,存檔已經(jīng)被 存檔生成器模塊206壓縮。存檔解封裝模塊612可以解壓縮存檔或存檔內(nèi)的對(duì)象。
在一個(gè)實(shí)施例中,頁面呈現(xiàn)模塊614使用從存檔提取的可存檔對(duì)象呈現(xiàn)存檔優(yōu)化 的網(wǎng)頁。頁面呈現(xiàn)模塊614可以包括用于使得允許存檔的瀏覽器118使用從存檔提取的可 存檔對(duì)象呈現(xiàn)存檔優(yōu)化的網(wǎng)頁的指令。 圖7圖示根據(jù)本發(fā)明的web服務(wù)器104的一個(gè)實(shí)施例。web服務(wù)器104可以包括 瀏覽器參數(shù)接收器模塊702、存檔響應(yīng)傳輸模塊704、歷史接收器模塊706、連接模塊708和 存檔傳遞模塊710。 web服務(wù)器104接收對(duì)網(wǎng)頁的請(qǐng)求并使用一個(gè)或多個(gè)存檔傳遞網(wǎng)頁。
在一個(gè)實(shí)施例中,瀏覽器參數(shù)接收器模塊702從允許存檔的瀏覽器118接收瀏覽 器參數(shù),該瀏覽器參數(shù)指示允許存檔的瀏覽器118的能力。由瀏覽器參數(shù)接收器模塊702 接收的瀏覽器參數(shù)的本質(zhì)基本上與關(guān)于圖6中所公開的瀏覽器參數(shù)傳輸模塊602描述的瀏 覽器參數(shù)相同。瀏覽器參數(shù)的接收可以指示允許存檔的瀏覽器118能夠接收存檔和/或指 示允許存檔的瀏覽器118可用的連接的數(shù)目。 在一個(gè)實(shí)施例中,存檔響應(yīng)傳輸模塊704將存檔響應(yīng)傳輸給允許存檔的瀏覽器 118。存檔響應(yīng)參數(shù)可以包括指示web服務(wù)器104能夠傳遞存檔的指示符。在一個(gè)實(shí)施例 中,存檔響應(yīng)參數(shù)可以包括指示web服務(wù)器104可用的連接的數(shù)目的指示符。在一個(gè)實(shí)施 例中,web服務(wù)器104響應(yīng)于允許存檔的瀏覽器118能夠接收存檔的確定,發(fā)送存檔響應(yīng)參 數(shù)。在另一實(shí)施例中,web服務(wù)器104發(fā)送存檔響應(yīng)參數(shù)而不管請(qǐng)求網(wǎng)頁的web瀏覽器的 類型。 在一個(gè)實(shí)施例中,歷史接收器模塊706從允許存檔的瀏覽器118接收歷史。在一 個(gè)實(shí)施例中,該歷史基本上與上面關(guān)于圖6描述的相同。web服務(wù)器104可以使用該歷史來 確定什么對(duì)象必須傳輸?shù)皆试S存檔的瀏覽器118,并且什么對(duì)象可以從允許存檔的瀏覽器 118的高速緩存引用。例如,存檔器106可以使用該歷史來生成排除歷史(或高速緩存)中 的一個(gè)或多個(gè)對(duì)象的一個(gè)或多個(gè)存檔,因此減少傳輸?shù)皆试S存檔的瀏覽器118的對(duì)象的總的大小,并且減少網(wǎng)頁的加載時(shí)間。 在一個(gè)實(shí)施例中,連接模塊708打開允許存檔的瀏覽器118和web服務(wù)器104之 間的一個(gè)或多個(gè)連接。在一個(gè)實(shí)施例中,連接模塊708打開與允許存檔的瀏覽器118可用 的連接的數(shù)目相等的數(shù)目的連接。在另一實(shí)施例中,連接模塊708打開與可用于web服務(wù) 器104使用的連接的數(shù)目相等的數(shù)目的連接。在另一實(shí)施例中,連接模塊708打開在web 服務(wù)器104和允許存檔的瀏覽器118之間協(xié)商的數(shù)目的連接。例如,請(qǐng)求的網(wǎng)頁可以包括 比可用于web服務(wù)器104和允許存檔的瀏覽器118的連接的數(shù)目更低的數(shù)目的連接。在該 示例中,連接模塊708可以建立與存檔的數(shù)目相等的數(shù)目的連接。 在一個(gè)實(shí)施例中,存檔傳遞模塊710通過一個(gè)可用連接發(fā)送存檔。存檔傳遞模塊 710可以使得web服務(wù)器104將用于存檔優(yōu)化的網(wǎng)頁的存檔發(fā)送到允許存檔的瀏覽器118。
下面的示意性流程圖通常作為邏輯流程圖提出。這樣,描繪的順序和標(biāo)記的步驟 指示呈現(xiàn)的方法的一個(gè)實(shí)施例。可以構(gòu)思在功能、邏輯或效果上與圖示的方法的一個(gè)或多 個(gè)步驟或其部分等效的其它步驟和方法。此外,采用的格式和符號(hào)提供來說明該方法的邏 輯步驟,并且理解為不限制該方法的范圍。盡管在流程圖中可以采用各種箭頭類型和線類 型,但是它們不被理解為限制對(duì)應(yīng)的方法的范圍。實(shí)際上,一些箭頭或其它連接符可以只用 來指示該方法的邏輯流程。例如,箭頭可以指示所述方法的列舉的步驟之間的未指定持續(xù) 時(shí)間的等待或監(jiān)視時(shí)段。此外,特定方法出現(xiàn)的順序可以或可以不嚴(yán)格服從所示的對(duì)應(yīng)步 驟的順序。 圖8是示出用于改進(jìn)網(wǎng)頁的下載時(shí)間的方法800中的各個(gè)步驟的流程圖。在某些 實(shí)施例中,方法800是在圖1-7的系統(tǒng)和裝置中使用的方法,并且將參照那些圖來討論。然 而,方法800還可以與其獨(dú)立地進(jìn)行,并且意圖不在于具體地限制為上面參照那些圖討論 的實(shí)施例。 如圖8所示,方法800計(jì)算802與對(duì)網(wǎng)頁生成存檔相關(guān)聯(lián)的計(jì)算成本。在一個(gè)實(shí) 施例中,計(jì)算成本是生成存檔和配置為訪問存檔中的可存檔對(duì)象的存檔優(yōu)化的網(wǎng)頁所要求 的資源的度量。在替代實(shí)施例中,計(jì)算的802計(jì)算成本可以是在產(chǎn)生存檔和存檔優(yōu)化的網(wǎng) 頁要求的資源的度量和通過使用存檔實(shí)現(xiàn)的網(wǎng)頁的下載時(shí)間的改進(jìn)的度量之間的比率。在 另一實(shí)施例中,計(jì)算的802計(jì)算成本可以響應(yīng)于參數(shù)(如web主機(jī)102上的負(fù)載、網(wǎng)頁是否 已經(jīng)被web客戶端112請(qǐng)求、以及網(wǎng)頁是否是靜態(tài)網(wǎng)頁)而變化。 在一個(gè)實(shí)施例中,存檔成本/收益模塊202然后確定804生成用于網(wǎng)頁的存檔是
否值得。確定804可以基于計(jì)算的802計(jì)算成本和閾值。例如,當(dāng)計(jì)算成本與性能收益的
比率低于閾值時(shí),存檔成本/收益模塊202可以確定生成存檔是值得的。 如果確定804為否,則方法800選擇806普通網(wǎng)頁。普通網(wǎng)頁是不包括對(duì)存檔的
引用的網(wǎng)頁。在一個(gè)實(shí)施例中,方法800可以生成普通網(wǎng)頁。在替代實(shí)施例中,方法800可
以選擇806現(xiàn)有的普通網(wǎng)頁。 接著,如果存檔成本/收益模塊202確定804應(yīng)當(dāng)生成存檔,則選擇模塊204掃描 808網(wǎng)頁的DOM樹表示。掃描808D0M樹以確定什么對(duì)象在網(wǎng)頁中和關(guān)于對(duì)象的其它參數(shù), 如對(duì)象的大小、對(duì)象的層次級(jí)和各對(duì)象之間的從屬性。 然后,選擇模塊204選擇810對(duì)象作為可存檔對(duì)象。可存檔對(duì)象響應(yīng)于符合對(duì)象 選擇標(biāo)準(zhǔn)(如對(duì)象的大小或類型)而選擇810。例如,選擇模塊204可以響應(yīng)于對(duì)象的大小
19小于3k字節(jié)而選擇810對(duì)象作為可存檔對(duì)象。 對(duì)象優(yōu)先級(jí)區(qū)分模塊308對(duì)通過選擇模塊204選擇810的可存檔對(duì)象區(qū)分優(yōu)先級(jí) 812。可存檔對(duì)象的優(yōu)先級(jí)區(qū)分812基于對(duì)象優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn),如D0M樹中的相對(duì)深度、從 屬對(duì)象的數(shù)目等。例如,一個(gè)對(duì)象可以具有比另一對(duì)象高的優(yōu)先級(jí),因?yàn)樗贒OM樹中具有 更多從屬對(duì)象。 存檔生成器模塊206然后使用可存檔對(duì)象生成814存檔。在生成的存檔中,生成
的814存檔中的可存檔對(duì)象可以根據(jù)在優(yōu)先級(jí)區(qū)分812期間分配的對(duì)象的優(yōu)先級(jí)排序。結(jié)
果,具有較高優(yōu)先級(jí)的可存檔對(duì)象在存檔中可以出現(xiàn)在具有較低優(yōu)先級(jí)的對(duì)象之前。 在一個(gè)實(shí)施例中,壓縮試探模塊506可以確定815對(duì)存檔壓縮是否值得。存檔中
的文件的類型、存檔中的文件的數(shù)目、存檔的大小和其它因素可以影響確定815,如參照?qǐng)D
5所述。響應(yīng)于不值得對(duì)存檔壓縮的確定815,方法800選擇818未壓縮的存檔。在一個(gè)實(shí)施例中,存檔壓縮器模塊504響應(yīng)于值得對(duì)存檔壓縮的確定815,壓縮
816生成的存檔。存檔的壓縮816可以使用任何壓縮方法,如gzip、zip、LZX、算術(shù)編碼等。
存檔的壓縮816可以響應(yīng)于文件將從壓縮收益的確定而出現(xiàn)。例如,方法800可以確定可
存檔對(duì)象包括高比例的已經(jīng)壓縮的圖像文件,因此確定不應(yīng)當(dāng)壓縮存檔。 圖9是示出用于改進(jìn)允許存檔的web瀏覽器118中的網(wǎng)頁的下載時(shí)間的方法900
的各個(gè)步驟的流程圖。在某些實(shí)施例中,方法900是在圖1-7的系統(tǒng)和裝置中使用的方法,
并且將參照那些圖討論。然而,方法900還可以與其獨(dú)立地進(jìn)行,并且意圖不在于具體地限
制為上面參照那些圖討論的實(shí)施例。 如圖9所示,方法900確定902可用于允許存檔的瀏覽器118的連接的數(shù)目。可 用的連接的數(shù)目可以依賴于允許存檔的瀏覽器118、web客戶端112、網(wǎng)絡(luò)110或其它考慮。
允許存檔的瀏覽器118請(qǐng)求904網(wǎng)頁。在一個(gè)實(shí)施例中,請(qǐng)求904網(wǎng)頁包括經(jīng)由 網(wǎng)絡(luò)110發(fā)送請(qǐng)求到web主機(jī)102。例如,允許存檔的瀏覽器118可以經(jīng)由TCP/IP網(wǎng)絡(luò)發(fā) 送HTTP請(qǐng)求以請(qǐng)求904網(wǎng)頁。 在一個(gè)實(shí)施例中,瀏覽器參數(shù)傳輸模塊602發(fā)送906瀏覽器參數(shù)到web服務(wù)器 104。發(fā)送906到web服務(wù)器104的瀏覽器參數(shù)可以包括指示允許存檔的瀏覽器118能夠接 收存檔的一個(gè)或多個(gè)指示符、可用于允許存檔的瀏覽器118的連接的數(shù)目或其它指示符。
接著,存檔響應(yīng)接收器模塊604接收908存檔響應(yīng)參數(shù)。存檔響應(yīng)參數(shù)可以指示 web服務(wù)器104能夠傳遞存檔。存檔響應(yīng)參數(shù)還可以指示可用于web服務(wù)器104的連接的 數(shù)目或其它指示符。 允許存檔的web瀏覽器118然后確定910是否支持存檔。在一個(gè)實(shí)施例中,該確 定910響應(yīng)于接收的908存檔響應(yīng)參數(shù)。如果允許存檔的web瀏覽器118確定910不支持 存檔,則方法900使用912沒有存檔的普通網(wǎng)頁。如果允許存檔的web瀏覽器118確定910 支持存檔,則方法900繼續(xù)。 連接模塊608建立914與web服務(wù)器104的一個(gè)或多個(gè)連接。在一個(gè)實(shí)施例中, 建立的914連接的數(shù)目響應(yīng)于瀏覽器參數(shù)、存檔響應(yīng)參數(shù)或其它考慮,如上面參照?qǐng)D6和7 所述。建立的914連接用于存檔、網(wǎng)頁、歷史信息、參數(shù)或其它數(shù)據(jù)的傳輸。
歷史傳輸模塊606可以將允許存檔的瀏覽器118的歷史信息傳輸916到web服務(wù) 器104。在一個(gè)實(shí)施例中,傳輸?shù)?16歷史包括來自之前與web服務(wù)器104和/或其它web
20服務(wù)器的事務(wù)的、由允許存檔的瀏覽器保持的對(duì)象的列表。在一個(gè)實(shí)施例中,歷史傳輸模塊 606響應(yīng)于接收到存檔響應(yīng)參數(shù)而傳輸916歷史,該存檔響應(yīng)參數(shù)指示web服務(wù)器104能夠 傳遞存檔。 存檔檢索模塊610從web服務(wù)器104接收918存檔。接收的存檔可以包括如上所 述的一個(gè)或多個(gè)可存檔對(duì)象。在一個(gè)實(shí)施例中,存檔文件響應(yīng)于對(duì)網(wǎng)頁的請(qǐng)求904而接收 918。 在一個(gè)實(shí)施例中,存檔解封裝模塊612可以響應(yīng)于傳遞的存檔被壓縮而解壓縮 919存檔。解壓縮919存檔可以包括使用由壓縮器模塊504使用的壓縮方法解壓縮存檔。
在一個(gè)實(shí)施例中,頁面呈現(xiàn)模塊614使用從接收的918存檔提取的可存檔對(duì)象呈 現(xiàn)920網(wǎng)頁。頁面呈現(xiàn)模塊614可以包括使得允許存檔的瀏覽器118使用從存檔提取的可 存檔對(duì)象呈現(xiàn)920存檔優(yōu)化的網(wǎng)頁的軟件指令。呈現(xiàn)920存檔優(yōu)化的網(wǎng)頁可以包括在顯 示器上,在對(duì)存檔優(yōu)化的網(wǎng)頁定義的位置處顯示可存檔對(duì)象。 圖10是示出用于改進(jìn)web服務(wù)器104中的網(wǎng)頁的下載時(shí)間的方法1000的各個(gè)步 驟的流程圖。在某些實(shí)施例中,方法1000是在圖1-7的系統(tǒng)和裝置中使用的方法,并且將 參照那些圖討論。然而,方法1000還可以與其獨(dú)立地進(jìn)行,并且意圖不在于具體地限制為 上面參照那些圖討論的實(shí)施例。 如圖10所示,方法1000包括通過瀏覽器參數(shù)接收器模塊702接收1002瀏覽器參 數(shù)。瀏覽器參數(shù)可以從允許存檔的恥b瀏覽器118接收1002,并且可以包括指示瀏覽器的 能力的一個(gè)或多個(gè)指示符。該指示符可以指示允許存檔的恥b瀏覽器118使用存檔呈現(xiàn)存 檔優(yōu)化的網(wǎng)頁的能力。該指示符還可以指示可用于允許存檔的web瀏覽器118的連接的數(shù) 目。 web服務(wù)器104可以確定1004用于傳遞存檔優(yōu)化的網(wǎng)頁(包括一個(gè)或多個(gè)存檔) 的連接的數(shù)目。在一個(gè)實(shí)施例中,web服務(wù)器104可以響應(yīng)于一個(gè)或多個(gè)瀏覽器參數(shù)來確 定1004連接的數(shù)目,該瀏覽器參數(shù)指示可用于允許存檔的web瀏覽器118的連接的數(shù)目、 可用于web服務(wù)器104的連接的數(shù)目、性能考慮等。 存檔器106可以優(yōu)化1006可存檔對(duì)象的選擇。在一個(gè)實(shí)施例中,存檔器106響應(yīng) 于可存檔對(duì)象的大小、DOM樹中可存檔對(duì)象的相對(duì)高度、各可存檔對(duì)象之間的從屬性、生成 的存檔的數(shù)目或其它考慮的一個(gè)或多個(gè),優(yōu)化1006選擇。在一個(gè)實(shí)施例中,如參照?qǐng)D2-5 所述優(yōu)化1006可存檔對(duì)象。 存檔器106可以生成1008 —個(gè)或多個(gè)存檔。該一個(gè)或多個(gè)存檔可以使用可存檔 對(duì)象的優(yōu)化的1006選擇而生成1008。生成的存檔的數(shù)目可以與之前確定的1004連接的 數(shù)目有關(guān)。在另一實(shí)施例中,生成的1008存檔的數(shù)目可以影響要使用的連接的數(shù)目的確定 1004。 在方法1000的一個(gè)實(shí)施例中,存檔傳遞模塊710將一個(gè)或多個(gè)存檔傳遞1010給 允許存檔的web瀏覽器118。在一個(gè)實(shí)施例中,存檔傳遞模塊710使用網(wǎng)絡(luò)110 (如TCP/IP 網(wǎng)絡(luò))傳遞1010 —個(gè)或多個(gè)存檔。 本發(fā)明可以以其它特定形式實(shí)現(xiàn)而不偏離其精神或基本特性。所述的實(shí)施例在所 有方面應(yīng)被考慮為僅僅是說明性的而非限制性的。因此,本發(fā)明的范圍由權(quán)利要求而非前 面的描述指示。落入權(quán)利要求的等效的意義和范圍內(nèi)的所有改變包括在其范圍內(nèi)。
相關(guān)申請(qǐng)的交叉引用 本申請(qǐng)涉及l(fā)xing Cheng、 Catherine C. Di印、Dong J皿Lan、 Sheng Ui、 Uiis J. Ostidiek Ostdiek、 Qing Bo Wang禾口 Meng Ye等人的題為"Apparatus, System, and Method for Cooperation Between a Browser and a Server to PackageSmall Objects in one or more Archives"的美國專利申i青(其具有序列號(hào)11/847, 299并且于2007年8 月29日提交,代理編號(hào)為SVL920060134US2)、以及Catherine C.Di印、Xing X.Fang、Dong J皿Lan、 Sheng S. Lu、 Luis J. 0stdiek、 Qing Bo Wang、 Meng Ye等人的題為"Apparatus, System, and Methodfor Archiving Small Objects to Improve the Loading Time of a Web Page"的美國專利申請(qǐng)(其具有序列號(hào)11/781, 066并且于2007年7月20日提交,代 理編號(hào)為SVL920060136US1)。
權(quán)利要求
一種用于減少網(wǎng)頁的加載時(shí)間的系統(tǒng),該系統(tǒng)包括瀏覽器,配置為從萬維網(wǎng)服務(wù)器請(qǐng)求網(wǎng)頁;接收一個(gè)或多個(gè)存檔,該一個(gè)或多個(gè)存檔包括在該網(wǎng)頁中引用的一個(gè)或多個(gè)可存檔對(duì)象;以及使用來自該一個(gè)或多個(gè)存檔的可存檔對(duì)象呈現(xiàn)該網(wǎng)頁;萬維網(wǎng)服務(wù)器,配置為從該瀏覽器接收對(duì)網(wǎng)頁的請(qǐng)求;以及傳遞一個(gè)或多個(gè)存檔,其中該一個(gè)或多個(gè)存檔的每個(gè)包括在該網(wǎng)頁中引用的多個(gè)可存檔對(duì)象;以及存檔器,配置為對(duì)于該網(wǎng)頁的一個(gè)或多個(gè)存檔優(yōu)化可存檔對(duì)象的選擇;以及從可存檔對(duì)象的優(yōu)化的選擇來生成一個(gè)或多個(gè)存檔。
2. 如權(quán)利要求1所述的系統(tǒng),其中該瀏覽器還配置為發(fā)送包括關(guān)于瀏覽器被配置為接 收一個(gè)或多個(gè)存檔的指示符的瀏覽器參數(shù)。
3. 如權(quán)利要求1或權(quán)利要求2所述的系統(tǒng),其中該存檔器通過確定要用來傳遞該一個(gè) 或多個(gè)存檔的連接的最優(yōu)數(shù)目,確定與該瀏覽器的能力兼容的存檔響應(yīng)參數(shù)。
4. 如權(quán)利要求3所述的系統(tǒng),其中該存檔器生成與確定的用于傳遞該一個(gè)或多個(gè)存檔 的連接的最佳數(shù)目相等的數(shù)目的存檔。
5. 如權(quán)利要求1所述的系統(tǒng),其中該存檔器通過以下確定與該瀏覽器的能力兼容的響 應(yīng)參數(shù)發(fā)送存檔響應(yīng)參數(shù)給瀏覽器,其中該存檔響應(yīng)參數(shù)包括關(guān)于存檔器被配置為生成一個(gè) 或多個(gè)存檔的指示符、和用于萬維網(wǎng)服務(wù)器的可用連接;以及確定用于傳遞該一個(gè)或多個(gè)存檔的連接的最大數(shù)目。
6. 如權(quán)利要求1所述的系統(tǒng),其中該瀏覽器還配置為通過傳輸來自之前與萬維網(wǎng)服務(wù) 器的交互的、在瀏覽器高速緩存中存在的預(yù)高速緩存對(duì)象的列表,發(fā)送瀏覽器參數(shù)給萬維 網(wǎng)服務(wù)器,該預(yù)高速緩存對(duì)象與網(wǎng)頁關(guān)聯(lián)。
7. 如權(quán)利要求6所述的系統(tǒng),其中該存檔器通過以下確定與瀏覽器的能力兼容的存檔 響應(yīng)參數(shù)將瀏覽器高速緩存中存在的預(yù)高速緩存對(duì)象的列表與網(wǎng)頁中引用的可存檔對(duì)象比較;確定在預(yù)高速緩存對(duì)象的列表中缺少的可存檔對(duì)象;以及 為一個(gè)或多個(gè)存檔選擇在瀏覽器高速緩存中缺少的可存檔對(duì)象。
8. —種包括計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)可讀介質(zhì)具有編程用于減少 網(wǎng)頁的加載時(shí)間的計(jì)算機(jī)可用程序代碼,該計(jì)算機(jī)程序產(chǎn)品的操作包括接收瀏覽器參數(shù),其中該瀏覽器參數(shù)包括關(guān)于瀏覽器配置為接收一個(gè)或多個(gè)存檔的指 示符、和用于瀏覽器的可用連接;以及確定用于傳遞一個(gè)或多個(gè)存檔的連接的數(shù)目; 對(duì)于網(wǎng)頁的一個(gè)或多個(gè)存檔優(yōu)化可存檔對(duì)象的選擇;以及生成與用于傳遞一個(gè)或多個(gè)存檔的連接的數(shù)目相等的數(shù)目的存檔,該一個(gè)或多個(gè)存檔 包括可存檔對(duì)象的優(yōu)化的選擇;傳遞該一個(gè)或多個(gè)存檔,其中該一個(gè)或多個(gè)存檔的每個(gè)包括在網(wǎng)頁中引用的多個(gè)可存 檔對(duì)象。
9. 如權(quán)利要求8所述的計(jì)算機(jī)程序產(chǎn)品,其中優(yōu)化可存檔對(duì)象的選擇還包括選擇用 于包括在要由存檔器生成的一個(gè)或多個(gè)存檔中的可存檔對(duì)象,該存檔的內(nèi)容包括根據(jù)對(duì)象 的優(yōu)先級(jí)區(qū)分而來自網(wǎng)頁的一個(gè)或多個(gè)可存檔對(duì)象。
10. 如權(quán)利要求9所述的計(jì)算機(jī)程序產(chǎn)品,其中優(yōu)化可存檔對(duì)象的選擇還包括掃描指 示網(wǎng)頁的結(jié)構(gòu)的文檔對(duì)象模型(DOM)樹以確定在網(wǎng)頁中引用的對(duì)象。
11. 如權(quán)利要求10所述的計(jì)算機(jī)程序產(chǎn)品,其中優(yōu)化可存檔對(duì)象的選擇還包括根據(jù) 一個(gè)或多個(gè)優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)給可存檔對(duì)象分配優(yōu)先級(jí)。
12. 如權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其中優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)包括DOM樹中的對(duì)象 的派生對(duì)象的數(shù)目。
13. 如權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其中優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)包括文檔對(duì)象主管 (DOM)樹中的對(duì)象的層次級(jí)。
14. 如權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其中選擇用于包括在一個(gè)或多個(gè)存檔中的 可存檔對(duì)象包括響應(yīng)于對(duì)象的大小小于閾值大小的確定,選擇用于包括的可存檔對(duì)象。
15. 如權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其中生成多個(gè)存檔還包括根據(jù)優(yōu)先級(jí)分類該一個(gè)或多個(gè)存檔中的可存檔對(duì)象,使得高優(yōu)先級(jí)可存檔對(duì)象比低優(yōu)先級(jí)可存檔對(duì)象更 靠近存檔的起點(diǎn)。
16. 如權(quán)利要求8所述的計(jì)算機(jī)程序產(chǎn)品,其中生成多個(gè)存檔還包括壓縮該一個(gè)或多 個(gè)存檔。
17. —種包括計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)可讀介質(zhì)具有編程用于減少網(wǎng)頁的加載時(shí)間的計(jì)算機(jī)可用程序代碼,該計(jì)算機(jī)程序產(chǎn)品的操作包括 從萬維網(wǎng)服務(wù)器請(qǐng)求網(wǎng)頁;從萬維網(wǎng)服務(wù)器接收一個(gè)或多個(gè)存檔,該一個(gè)或多個(gè)存檔的每個(gè)包括由網(wǎng)頁引用的多 個(gè)可存檔對(duì)象;以及使用來自該一個(gè)或多個(gè)存檔的多個(gè)可存檔對(duì)象呈現(xiàn)網(wǎng)頁。
18. 如權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,還包括從萬維網(wǎng)服務(wù)器接收存檔響應(yīng)參 數(shù),該存檔響應(yīng)參數(shù)包括關(guān)于萬維網(wǎng)服務(wù)器能夠傳遞一個(gè)或多個(gè)存檔的指示。
19. 如權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,還包括確定可用于瀏覽器用來接收網(wǎng)頁 的連接的數(shù)目。
20. 如權(quán)利要求19所述的計(jì)算機(jī)程序產(chǎn)品,其中從萬維網(wǎng)服務(wù)器請(qǐng)求網(wǎng)頁還包括發(fā) 送包括連接指示符的瀏覽器參數(shù),該連接指示符指示可用于瀏覽器用來接收網(wǎng)頁的各部分 的連接的數(shù)目。
21. 如權(quán)利要求20所述的計(jì)算機(jī)程序產(chǎn)品,還包括根據(jù)來自萬維網(wǎng)服務(wù)器的存檔響 應(yīng)參數(shù)和可用于瀏覽器使用的連接數(shù)目,建立與萬維網(wǎng)服務(wù)器的連接。
22. 如權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其中呈現(xiàn)網(wǎng)頁還包括從該一個(gè)或多個(gè)存檔提取可存檔對(duì)象。
23. 如權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其中呈現(xiàn)網(wǎng)頁還包括解壓縮壓縮的存檔。
24. —種包括計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)可讀介質(zhì)具有編程用于減少網(wǎng)頁的加載時(shí)間的計(jì)算機(jī)可用程序代碼,該計(jì)算機(jī)程序產(chǎn)品的操作包括 確定可用于瀏覽器用來接收網(wǎng)頁的連接的數(shù)目; 從萬維網(wǎng)服務(wù)器請(qǐng)求網(wǎng)頁,其中從萬維網(wǎng)服務(wù)器請(qǐng)求網(wǎng)頁包括發(fā)送瀏覽器參數(shù),該瀏覽器參數(shù)包括指示瀏覽器能夠接收存檔的指示符、和指示可用 于由瀏覽器用來接收網(wǎng)頁的各部分的連接的數(shù)目的指示符;從萬維網(wǎng)服務(wù)器接收存檔響應(yīng)參數(shù),該存檔響應(yīng)參數(shù)包括指示萬維網(wǎng)服務(wù)器能夠傳遞 一個(gè)或多個(gè)存檔的指示符;根據(jù)來自萬維網(wǎng)服務(wù)器的存檔響應(yīng)參數(shù)和瀏覽器參數(shù),建立與萬維網(wǎng)服務(wù)器的一個(gè)或 多個(gè)連接;從萬維網(wǎng)服務(wù)器接收一個(gè)或多個(gè)存檔,該一個(gè)或多個(gè)存檔的每個(gè)包括與網(wǎng)頁相關(guān)聯(lián)的 多個(gè)可存檔對(duì)象;以及使用來自該一個(gè)或多個(gè)存檔的多個(gè)可存檔對(duì)象呈現(xiàn)網(wǎng)頁。
25. —種包括計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)可讀介質(zhì)具有編程用于減 少網(wǎng)頁的加載時(shí)間的計(jì)算機(jī)可用程序代碼,該計(jì)算機(jī)程序產(chǎn)品的操作包括確定要生成的存檔的數(shù)目;選擇用于包括在要由存檔器生成的一個(gè)或多個(gè)存檔中的可存檔對(duì)象,所選擇的可存檔 對(duì)象包括根據(jù)對(duì)象優(yōu)先級(jí)區(qū)分而與網(wǎng)頁相關(guān)聯(lián)的一個(gè)或多個(gè)可存檔對(duì)象; 其中響應(yīng)于可存檔對(duì)象具有低于閾值的大小的確定來選擇可存檔對(duì)象; 對(duì)于網(wǎng)頁的一個(gè)或多個(gè)存檔優(yōu)化選擇的可存檔對(duì)象;以及生成與所確定的存檔的數(shù)目相等數(shù)目的存檔,該存檔包括可存檔對(duì)象的優(yōu)化的選擇。
26. —種用于減少網(wǎng)頁的加載時(shí)間的方法,該方法包括 從萬維網(wǎng)服務(wù)器請(qǐng)求網(wǎng)頁;接收一個(gè)或多個(gè)存檔,該一個(gè)或多個(gè)存檔包括在網(wǎng)頁中引用的一個(gè)或多個(gè)可存檔對(duì)象;使用來自該一個(gè)或多個(gè)存檔的可存檔對(duì)象呈現(xiàn)網(wǎng)頁; 從瀏覽器接收對(duì)網(wǎng)頁的請(qǐng)求;以及傳遞一個(gè)或多個(gè)存檔,其中該一個(gè)或多個(gè)存檔的每個(gè)包括在該網(wǎng)頁中引用的多個(gè)可存 檔對(duì)象;對(duì)于該網(wǎng)頁的一個(gè)或多個(gè)存檔優(yōu)化可存檔對(duì)象的選擇;以及 從存檔器中的可存檔對(duì)象的優(yōu)化的選擇生成一個(gè)或多個(gè)存檔。
27. 如權(quán)利要求26所述的方法,還包括發(fā)送包括關(guān)于瀏覽器配置為接收一個(gè)或多個(gè) 存檔的指示符的瀏覽器參數(shù)。
28. 如權(quán)利要求26或27所述的方法,其中存檔器通過確定要用來傳遞該一個(gè)或多個(gè)存 檔的連接的最優(yōu)數(shù)目,確定與該瀏覽器的能力兼容的存檔響應(yīng)參數(shù)。
29. 如權(quán)利要求28所述的方法,還包括生成與確定的用于傳遞該一個(gè)或多個(gè)存檔的 連接的最優(yōu)數(shù)目相等數(shù)目的存檔。
30. 如權(quán)利要求26所述的方法,還包括通過以下確定與瀏覽器的能力兼容的響應(yīng)參數(shù)發(fā)送存檔響應(yīng)參數(shù)給瀏覽器,其中該存檔響應(yīng)參數(shù)包括關(guān)于存檔器配置為生成一個(gè)或 多個(gè)存檔的指示符和用于萬維網(wǎng)服務(wù)器的可用連接;以及 確定用于傳遞該一個(gè)或多個(gè)存檔的連接的最大數(shù)目。
31. 如權(quán)利要求26所述的方法,還包括通過傳輸來自之前瀏覽器與萬維網(wǎng)服務(wù)器的 交互的、在瀏覽器高速緩存中存在的預(yù)高速緩存對(duì)象的列表,發(fā)送瀏覽器參數(shù)給萬維網(wǎng)服 務(wù)器,該預(yù)高速緩存對(duì)象與網(wǎng)頁關(guān)聯(lián)。
32. 如權(quán)利要求31所述的方法,還包括通過以下確定與瀏覽器的能力兼容的存檔響應(yīng) 參數(shù)將瀏覽器高速緩存中存在的預(yù)高速緩存對(duì)象的列表與網(wǎng)頁中引用的可存檔對(duì)象比較;確定在預(yù)高速緩存對(duì)象的列表中缺少的可存檔對(duì)象;以及 為一個(gè)或多個(gè)存檔選擇在瀏覽器高速緩存中缺少的可存檔對(duì)象。
33. —種用于減少網(wǎng)頁的加載時(shí)間的方法,包括接收瀏覽器參數(shù),其中該瀏覽器參數(shù)包括關(guān)于瀏覽器配置為接收一個(gè)或多個(gè)存檔的指 示符和用于瀏覽器的可用連接;確定用于傳遞一個(gè)或多個(gè)存檔的連接的數(shù)目; 對(duì)于網(wǎng)頁的一個(gè)或多個(gè)存檔優(yōu)化可存檔對(duì)象的選擇;生成與用于傳遞一個(gè)或多個(gè)存檔的連接的數(shù)目相等數(shù)目的存檔,該一個(gè)或多個(gè)存檔包 括可存檔對(duì)象的優(yōu)化的選擇;以及傳遞該一個(gè)或多個(gè)存檔,其中該一個(gè)或多個(gè)存檔的每個(gè)包括在網(wǎng)頁中引用的多個(gè)可存 檔對(duì)象。
34. 如權(quán)利要求33所述的方法,其中優(yōu)化可存檔對(duì)象的選擇還包括選擇用于包括在 要由存檔器生成的一個(gè)或多個(gè)存檔中的可存檔對(duì)象,該存檔的內(nèi)容包括根據(jù)對(duì)象的優(yōu)先級(jí) 區(qū)分而來自網(wǎng)頁的一個(gè)或多個(gè)可存檔對(duì)象。
35. 如權(quán)利要求33或34所述的方法,其中優(yōu)化可存檔對(duì)象的選擇還包括掃描指示網(wǎng) 頁的結(jié)構(gòu)的文檔對(duì)象模型(D0M)樹以確定在網(wǎng)頁中引用的對(duì)象。
36. 如權(quán)利要求35所述的方法,其中優(yōu)化可存檔對(duì)象的選擇還包括根據(jù)一個(gè)或多個(gè) 優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)給可存檔對(duì)象分配優(yōu)先級(jí)。
37. 如權(quán)利要求36所述的方法,其中優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)包括D0M樹中的對(duì)象的派生對(duì)象 的數(shù)目。
38. 如權(quán)利要求36所述的方法,其中優(yōu)先級(jí)區(qū)分標(biāo)準(zhǔn)包括文檔對(duì)象主管(D0M)樹中的 對(duì)象的層次級(jí)。
39. 如權(quán)利要求34-38的任一所述的方法,其中選擇用于包括在一個(gè)或多個(gè)存檔中的 可存檔對(duì)象包括響應(yīng)于對(duì)象的大小小于閾值大小的確定,選擇用于包括的可存檔對(duì)象。
40. 如權(quán)利要求33-39的任一所述的方法,其中生成多個(gè)存檔還包括根據(jù)優(yōu)先級(jí)分類 該一個(gè)或多個(gè)存檔中的可存檔對(duì)象,使得高優(yōu)先級(jí)可存檔對(duì)象比低優(yōu)先級(jí)可存檔對(duì)象更靠 近存檔的起點(diǎn)。
41. 如權(quán)利要求33-40的任一所述的方法,其中生成多個(gè)存檔還包括壓縮該一個(gè)或多個(gè)存檔。
42. —種用于減少網(wǎng)頁的加載時(shí)間的方法,包括 從萬維網(wǎng)服務(wù)器請(qǐng)求網(wǎng)頁;從萬維網(wǎng)服務(wù)器接收一個(gè)或多個(gè)存檔,該一個(gè)或多個(gè)存檔的每個(gè)包括由網(wǎng)頁引用的多 個(gè)可存檔對(duì)象;以及使用來自該一個(gè)或多個(gè)存檔的多個(gè)可存檔對(duì)象呈現(xiàn)網(wǎng)頁。
43. 如權(quán)利要求42所述的方法,還包括從萬維網(wǎng)服務(wù)器接收存檔響應(yīng)參數(shù),該存檔響 應(yīng)參數(shù)包括關(guān)于萬維網(wǎng)服務(wù)器能夠傳遞一個(gè)或多個(gè)存檔的指示。
44. 如權(quán)利要求42或43的任一所述的方法,還包括確定可用于瀏覽器用來接收網(wǎng)頁的 連接的數(shù)目。
45. 如權(quán)利要求42到44的任一所述的方法,其中從萬維網(wǎng)服務(wù)器請(qǐng)求網(wǎng)頁還包括發(fā) 送包括連接指示符的瀏覽器參數(shù),該連接指示符指示可用于瀏覽器用來接收網(wǎng)頁的各部分 的連接的數(shù)目。
46. 如權(quán)利要求45所述的方法,還包括根據(jù)來自萬維網(wǎng)服務(wù)器的存檔響應(yīng)參數(shù)和可 用于瀏覽器使用的連接數(shù)目,建立與萬維網(wǎng)服務(wù)器的連接。
47. 如權(quán)利要求42到46的任一所述的方法,其中呈現(xiàn)網(wǎng)頁還包括從該一個(gè)或多個(gè)存 檔提取可存檔對(duì)象。
48. 如權(quán)利要求42到46的任一所述的方法,其中呈現(xiàn)網(wǎng)頁還包括解壓縮壓縮的存檔。
49. 一種用于減少網(wǎng)頁的加載時(shí)間的方法,該方法包括 確定可用于瀏覽器用來接收網(wǎng)頁的連接的數(shù)目;從萬維網(wǎng)服務(wù)器請(qǐng)求網(wǎng)頁,其中從萬維網(wǎng)服務(wù)器請(qǐng)求網(wǎng)頁包括發(fā)送瀏覽器參數(shù),該瀏覽器參數(shù)包括指示瀏覽器能夠接收存檔的指示符和指示可用于 由瀏覽器用來接收網(wǎng)頁的各部分的連接的數(shù)目的指示符;從萬維網(wǎng)服務(wù)器接收存檔響應(yīng)參數(shù),該存檔響應(yīng)參數(shù)包括指示萬維網(wǎng)服務(wù)器能夠傳遞 一個(gè)或多個(gè)存檔的指示符;根據(jù)來自萬維網(wǎng)服務(wù)器的存檔響應(yīng)參數(shù)和瀏覽器參數(shù),建立與萬維網(wǎng)服務(wù)器的一個(gè)或 多個(gè)連接;從萬維網(wǎng)服務(wù)器接收一個(gè)或多個(gè)存檔,該一個(gè)或多個(gè)存檔的每個(gè)包括與網(wǎng)頁相關(guān)聯(lián)的 多個(gè)可存檔對(duì)象;以及使用來自該一個(gè)或多個(gè)存檔的多個(gè)可存檔對(duì)象呈現(xiàn)網(wǎng)頁。
50. —種用于減少網(wǎng)頁的加載時(shí)間的方法,該方法包括 確定要生成的存檔的數(shù)目;選擇用于包括在要由存檔器生成的一個(gè)或多個(gè)存檔中的可存檔對(duì)象,選擇的可存檔對(duì) 象包括根據(jù)對(duì)象優(yōu)先級(jí)區(qū)分而與網(wǎng)頁相關(guān)聯(lián)的一個(gè)或多個(gè)可存檔對(duì)象;其中響應(yīng)于可存檔對(duì)象具有低于閾值的大小的確定而選擇可存檔對(duì)象; 對(duì)于網(wǎng)頁的一個(gè)或多個(gè)存檔優(yōu)化選擇的可存檔對(duì)象;以及生成與確定的存檔的數(shù)目相等數(shù)目的存檔,該存檔包括優(yōu)化的可存檔對(duì)象的選擇。
51. —種計(jì)算機(jī)程序,包括當(dāng)所述程序在計(jì)算機(jī)上運(yùn)行時(shí)適用于執(zhí)行權(quán)利要求26到50 的所有步驟的程序代碼部件。
全文摘要
公開了用于減少網(wǎng)頁的加載時(shí)間的裝置、系統(tǒng)和方法。在一個(gè)實(shí)施例中,該裝置、系統(tǒng)和方法包括從萬維網(wǎng)服務(wù)器請(qǐng)求網(wǎng)頁,其中從萬維網(wǎng)服務(wù)器請(qǐng)求網(wǎng)頁包括發(fā)送包含指示符的瀏覽器參數(shù)給萬維網(wǎng)服務(wù)器,該指示符指示瀏覽器能夠接收存檔。本發(fā)明還可以包括從萬維網(wǎng)服務(wù)器接收一個(gè)或多個(gè)存檔,該一個(gè)或多個(gè)存檔的每個(gè)包括由網(wǎng)頁引用的多個(gè)可存檔對(duì)象,并且使用來自該一個(gè)或多個(gè)存檔的多個(gè)可存檔對(duì)象呈現(xiàn)網(wǎng)頁。
文檔編號(hào)G06F17/30GK101785005SQ200880104106
公開日2010年7月21日 申請(qǐng)日期2008年8月18日 優(yōu)先權(quán)日2007年8月29日
發(fā)明者蘭東俊, 凱瑟琳·迪普, 葉萌, 王慶波, 程龍, 路易斯·奧斯蒂迪克, 陸晟 申請(qǐng)人:國際商業(yè)機(jī)器公司