200中,關(guān)聯(lián)信息傳送單元226可基于數(shù)據(jù)庫282的記錄而生成將在文檔和資源中生成的縮寫字符串和原始字符串彼此相關(guān)聯(lián)的關(guān)聯(lián)信息,從而將關(guān)聯(lián)信息傳送至客戶端300。在這種情況下,例如,甚至在生成縮寫字符串時原始字符串和縮寫字符串不具有一一對應(yīng)關(guān)系的情況下,客戶端300可以解釋寫入文檔和資源中的縮寫字符串,從而顯示資源被參考的文檔。
[0177](4-3.變型示例)
[0178](中間服務(wù)器的處理流程)
[0179]圖13是示出根據(jù)本公開內(nèi)容的實施例3的變型示例的中間服務(wù)器的處理的流程圖。當(dāng)參照圖13時,首先,以與在以上參照圖11所述的示例中的S301至S305相同的方式執(zhí)行SlOl至S105。
[0180]在該變型示例中,縮寫字符串生成單元222先行地生成在文檔中檢測到的且可以縮寫的字符串的縮寫字符串(S361)。此時,縮寫字符串生成單元222將原始字符串和縮寫字符串彼此相關(guān)聯(lián)的記錄添加到數(shù)據(jù)庫282中(S315)。另外,縮寫字符串寫入單元224根據(jù)數(shù)據(jù)庫282中的記錄來用縮寫字符串替換包括在文檔中的字符串(S363)。當(dāng)完成替換時,文檔傳送單元214將包括縮寫字符串的文檔傳送至客戶端300(S319)。在傳送文檔前后或者與此同時,關(guān)聯(lián)信息傳送單元226將基于數(shù)據(jù)庫282中的記錄而生成的關(guān)聯(lián)信息傳送至客戶端300(S321)o
[0181]在傳送文檔和關(guān)聯(lián)信息之后或者與此同時在分析文檔中檢測到對資源的參考(在S307中為是)的情況下,資源獲取單元208獲取所參考的資源(S309),并且資源分析單元220分析所獲取的資源(S311)。此后,縮寫字符串寫入單元224基于在S315的處理中生成的、數(shù)據(jù)庫382中的縮寫字符串記錄,用縮寫字符串替換包括在資源中的字符串(S365)。此后,資源傳送單元216將包括縮寫字符串的資源傳送至客戶端300(S323)。
[0182]在該變型示例中,基于生成文檔中的縮寫字符串的結(jié)果來用縮寫字符串替換資源的字符串。于是,在文檔和關(guān)聯(lián)信息被先行地傳送至客戶端300之后,還可以在資源中用縮寫字符串進行替換,以與在文檔中的替換具有一致性。因此,可以開始在客戶端300中顯示文檔而無需等待完成在資源中用縮寫字符串進行替換。
[0183]應(yīng)注意,除了在接收文檔和關(guān)聯(lián)信息之后資源接收單元308接收資源之外,該變型示例中的客戶端的處理流程可以與圖12的處理流程類似,因此,省略其詳細(xì)描述。雖然在本實施例的以上描述中已描述將原始字符串和縮寫字符串彼此相關(guān)聯(lián)的信息存儲在數(shù)據(jù)庫中的示例,但是信息不一定需要存儲在數(shù)據(jù)庫中,并且在其他示例中可使用文件等。
[0184](5.實施例4)
[0185](5-1.功能配置)
[0186]圖14(圖14A和圖14B)是示出根據(jù)本公開內(nèi)容的實施例4的中間服務(wù)器和客戶端的示意性功能配置的框圖。當(dāng)參照圖14A時,作為功能配置,中間服務(wù)器200包括請求接收單元202、文檔獲取單元204、文檔分析單元206、資源獲取單元208、標(biāo)識符生成單元210、標(biāo)識符寫入單元212、資源分析單元220、縮寫字符串生成單元222、縮寫字符串寫入單元224、文檔傳送單元214、關(guān)聯(lián)信息傳送單元226和資源傳送單元216。當(dāng)參照圖14B時,作為功能配置,客戶端300包括請求傳送單元302、文檔接收單元304、關(guān)聯(lián)信息接收單元314、字符串解釋單元316、緩存確定單元306、資源接收單元308和顯示控制單元310。
[0187]例如,這些功能配置可以通過使得包括在實現(xiàn)中間服務(wù)器200和客戶端300的信息處理裝置中的處理器根據(jù)存儲在存儲器或記錄介質(zhì)中的程序進行操作來實現(xiàn)。中間服務(wù)器200中的緩沖存儲器280和數(shù)據(jù)庫282以及客戶端300中的緩沖存儲器380和數(shù)據(jù)庫382可以由例如各個信息處理裝置的存儲裝置或存儲器來實現(xiàn)。
[0188]如從圖14中顯而易見,該實施例是通過將實施例1與實施例3結(jié)合而獲得的實施例。在實施例1和實施例3中已描述中間服務(wù)器200和客戶端300的功能配置,因此,省略了對其的詳細(xì)描述。
[0189](5-2.處理流程)
[0190]將描述該實施例的處理流程。應(yīng)注意,在以下描述中,將描述通過將實施例1的變型示例和實施例3的變型示例而獲得的更復(fù)雜的處理流程。然而,容易理解,也可以類似地實現(xiàn)通過將不是變型示例的示例進行組合而獲得的示例。
[0191](中間服務(wù)器的處理流程)
[0192]圖15(圖15A和圖15B)是示出根據(jù)本公開內(nèi)容的實施例4的中間服務(wù)器的處理的流程圖。當(dāng)參照圖15時,首先,請求接收單元202接收來自客戶端300的請求(S401)。接下來,文檔獲取單元204獲取在請求中所指定的文檔(S403)。然后,文檔分析單元206分析所獲取的文檔(S405)。
[0193]本文中,關(guān)于對在文檔中檢測到的資源的參考,資源獲取單元208獲取所參考的資源(S407)。標(biāo)識符生成單元210基于所獲取的資源的內(nèi)容來生成獨有標(biāo)識符(S409)。標(biāo)識符寫入單元212將所生成的獨有標(biāo)識符與對文檔中的資源的參考相關(guān)聯(lián)(S411)。應(yīng)注意,每當(dāng)檢測到一個或多個對資源的參考時可執(zhí)行上述處理,或者在檢測到所有對資源的參考之后可統(tǒng)一執(zhí)行參考。
[0194]在上述的S407或S411前后或者與此同時,縮寫字符串生成單元222生成在文檔中檢測到的且可以縮寫的字符串的縮寫字符串(S413)。此時,縮寫字符串生成單元222將原始字符串和縮寫字符串彼此相關(guān)聯(lián)的縮寫字符串記錄添加到數(shù)據(jù)庫282中(S415)。另外,縮寫字符串寫入單元224根據(jù)數(shù)據(jù)庫282中的縮寫字符串記錄來用縮寫字符串替換包括在文檔中的字符串(S417)。應(yīng)注意,在如在圖15A所示的示例中一樣將S407至S411和S413至S417彼此并行地執(zhí)行的情況下,對文檔中的資源的參考不必是縮寫字符串的生成目標(biāo)。
[0195]當(dāng)完成上述處理時,文檔傳送單元214將經(jīng)標(biāo)識符寫入單元212和縮寫字符串寫入單元224更新的文檔傳送至客戶端300(S419)。在此前后或者與此同時,關(guān)聯(lián)信息傳送單元226將基于數(shù)據(jù)庫282中的記錄而生成的關(guān)聯(lián)信息傳送至客戶端300(S421)。
[0196]在傳送文檔和關(guān)聯(lián)信息前后或者與此同時,資源分析單元220分析在S407中獲取的資源(S423)。此后,縮寫字符串寫入單元224基于數(shù)據(jù)庫282中的縮寫字符串記錄來用縮寫字符串替換包括在資源中的字符串,該縮寫字符串記錄是在縮寫字符串生成單元222關(guān)于文檔執(zhí)行的處理中生成的(S425)。此后,資源傳送單元216響應(yīng)于來自客戶端300的對于資源的請求而將資源傳送至客戶端300(S427)。
[0197](客戶端的處理流程)
[0198]圖16(圖16A和圖16B)是示出根據(jù)本公開內(nèi)容的實施例的客戶端的處理的流程圖。當(dāng)參照圖16時,首先,請求傳送單元302將請求傳送至中間服務(wù)器200(S451)。然后,文檔接收單元304響應(yīng)于該請求而接收中間服務(wù)器200傳送的文檔(S453)。
[0199]在接收文檔前后或者與此同時,關(guān)聯(lián)信息接收單元314接收從中間服務(wù)器200傳送的關(guān)聯(lián)信息(S455)。關(guān)聯(lián)信息接收單元314基于所接收到的關(guān)聯(lián)信息來生成數(shù)據(jù)庫382中的縮寫字符串記錄(S457)。然后,字符串解釋單元316參考數(shù)據(jù)庫382來對包括在文檔中的縮寫字符串進行解釋(S459)。顯示控制單元310基于字符串解釋單元316執(zhí)行的解釋來開始顯示所接收到的文檔(S461)。
[0200]在文檔中發(fā)現(xiàn)對資源的參考的情況下(在S463中為是),緩存確定單元306確定在所接收到的文檔中參考的資源是否存儲(緩存)在緩沖存儲器380中(S465)。如上所述,緩存確定單元306基于資源的內(nèi)容所獨有的且與對文檔中的資源的參考相關(guān)聯(lián)的標(biāo)識符,確定資源是否存儲在緩沖存儲器380中。
[0201]在確定資源存儲在緩沖存儲器380中的情況下(在S465中為是),緩存確定單元306從緩沖存儲器380讀出資源并且將該資源提供至字符串解釋單元316。即,緩存確定單元306重新使用緩沖存儲器380緩存的資源(S467)。相反,在確定資源并未存儲在緩沖存儲器380中的情況下(在S465中為否),緩存確定單元306將對于資源的請求傳送至中間服務(wù)器200(S469)。資源接收單元308響應(yīng)于請求而接收中間服務(wù)器200傳送的資源(S471)。
[0202]字符串解釋單元316基于數(shù)據(jù)庫382中的記錄而對重新使用的資源或包括在從中間服務(wù)器200接收到的資源中的縮寫字符串進行解釋(S473)。顯示控制單元310繼續(xù)利用通過字符串解釋單元316對包括在文檔和資源中的縮寫字符串進行解釋而獲得的結(jié)果來顯示文檔(S475)??梢灾貜?fù)地執(zhí)行S465至S475,直到發(fā)現(xiàn)所有對文檔中的資源的參考為止。在顯示控制單元310顯示整個文檔并且不再發(fā)現(xiàn)對資源的參考或者尚未發(fā)現(xiàn)對資源的參考的情況下(在S463中為否),客戶端300完成文檔的顯示(S477)。
[0203]應(yīng)注意,在該實施例中,在客戶端300中的緩沖存儲器380用于資源的情況下,期望包括在資源中的縮寫字符串相同而與參考資源的機會無關(guān)。因此,例如,在中間服務(wù)器200中,縮寫字符串生成單元222可使用預(yù)定算法來生成縮寫字符串,并且可針對相同的原始字符串而自動生成相同的縮寫字符串。替選地,可通過在多個文檔中共同使用中間服務(wù)器200中的數(shù)據(jù)庫282來針對相同的原始字符串生成相同的縮寫字符串。
[0204](6.實施例5)
[0205]圖17是示出根據(jù)本公開內(nèi)容的實施例5的中間服務(wù)器的處理的流程圖。應(yīng)注意,圖17中所示的一系列處理可以通過使得實現(xiàn)中間服務(wù)器200的信息處理裝置中包括的處理器根據(jù)存儲在存儲器或記錄介質(zhì)中的程序進行操作來執(zhí)行。
[0206]當(dāng)參照圖17時,首先,處理器接收來自客戶端300的請求(S501)。接下來,處理器獲取在該請求中指定的文檔(S503)。以與上述的其他實施例中的處理器相同的方式,處理器可從分發(fā)源服務(wù)器100獲取文檔或者從緩沖存儲器內(nèi)部獲取文檔。然后,處理器獲取在文檔中參考的資源(S505)。資源還可從分發(fā)源服務(wù)器100獲取或者還可從緩沖存儲器內(nèi)部獲取。
[0207]另外,處理器基于所獲取的文檔和資源來生成中間數(shù)據(jù)(S507)。中間數(shù)據(jù)的生成例如包括利用對HTML文檔的解析來生成文檔對象模型(DOM)、使用CSS的處理來生成計算樣式(computed style)以及使用解析來將JavaScript轉(zhuǎn)換成中間表示等。處理器將所生成的中間數(shù)據(jù)傳送至客戶端300 (S509)。
[0208]圖18是示出根據(jù)本公開內(nèi)容的實施例5的客戶端的處理的流程圖。應(yīng)注意,圖17所示的一系列處理可以通過使得包括在實現(xiàn)客戶端300的信息處理裝置中的處理器根據(jù)存儲在存儲器或記錄介質(zhì)中的程序進行操作來實現(xiàn)。
[0209]當(dāng)參照圖18時,首先,處理器將請求傳送至中間服務(wù)器200(S521)。然后,處理器基于中間服務(wù)器200響應(yīng)于該請求而傳送的文檔和資源來接收中間數(shù)據(jù)(S523)。處理器基于所接收到的中間數(shù)據(jù)來生成布局(S525),并且根據(jù)布局來顯示文檔(S527)。
[0210]根據(jù)本實施例,在中間服務(wù)器200而不是客戶端300中執(zhí)行用于在客戶端300中顯示文檔的處理的一部分。于是,在中間服務(wù)器200的處理能力高于客戶端300的處理能力的情況下,減少了傳送請求與完成在客戶端300中顯示文檔之間的時間。
[0211]應(yīng)注意,基于網(wǎng)絡(luò)的狀態(tài)、客戶端300的處理能力等來適當(dāng)?shù)卮_定在中間服務(wù)器200中生成了什么中間數(shù)據(jù)。例如,在關(guān)于HTML文檔的上述三個示例當(dāng)中,可采用僅一個示例,可采用任何兩個示例,或者可采用所有三個示例。
[0212](7.實施例6)
[0213]圖19是示出根據(jù)本公開內(nèi)容的實施例6的中間服務(wù)器的處理的流程圖。應(yīng)注意,圖17所示的一系列處理可以通過使得包括在實現(xiàn)中間服務(wù)器200的信息處理裝置中的處理器根據(jù)存儲在存儲器或記錄介質(zhì)中的程序進行操作來執(zhí)行。應(yīng)注意,僅在本實施例中,將假設(shè)文檔為HTML文檔以及資源為CSS來提供描述。
[0214]當(dāng)參照圖19時,首先,處理器接收來自客戶端300的請求(S601)。接下來,處理器獲取在該請求中指定的HTML文檔(S603)。以與上述的其他實施例中的處理器相同的方式,處理器可從分發(fā)源服務(wù)器100獲取HTML文檔或者可從緩沖存儲器內(nèi)部獲取文檔。然后,處理器獲取在HTML文檔中參考的CSS(S605) XSS還可從分發(fā)源服務(wù)器100獲取或者還可從緩沖存儲器內(nèi)部獲取。
[0215]另外,處理器針對HTML文檔的每個元素而指定由CSS限定的樣式(S607)。在參考HTML文檔中具有層級結(jié)構(gòu)的多種CSS的情況下,通過S607中的處理來指定采用多種CSS當(dāng)中的哪種樣式組合。處理器基于S607中的處理的結(jié)果來更新CSS(S609)并將更新后的CSS連同文檔一起傳送至客戶端300(S611)。
[0216]在該實施例中,客戶端300基于從中間服務(wù)器200接收到的HTML文檔和CSS來顯示HTML文檔。對此的處理類似于用于顯示通常HTML文檔的處理,因此,省略了對其的詳細(xì)描述。然而,在該實施例中,已通過中間服務(wù)器200中的上述處理來優(yōu)化在客戶端300中參考的CSS。因此,客戶端300可以省略用于指定針對HTML文檔的每個元素而定義的樣式的處理中的大部分。于是,在中間服務(wù)器200的處理能力高于客戶端300的處理能力的情況下,減少了傳送請求與完成在客戶端300中顯示文檔之間的時間。
[0217]應(yīng)注意,雖然在以上描述中資源是CSS,但是可以連同HTML文檔中的CSS—起參考諸如圖像和腳本的其他資源。
[0218](8.實施例7)
[0219](8-1.功能配置)
[0220]圖20是示出根據(jù)本公開內(nèi)容的實施例7的中間服務(wù)器和客戶端的示意性功能配置的框圖。當(dāng)參照圖20時,作為功能配置,中間服務(wù)器200包括請求接收單元202、文檔獲取單元204、文檔分析單元206、資源獲取單元208、圖像轉(zhuǎn)碼單元228、圖像參考更新單元230、文檔傳送單元214和資源傳送單元216。作為功能配置,客戶端300包括請求傳送單元302、文檔接收單元304、資源接收單元308和顯示控制單元310。
[0221]例如,這些功能配置可以通過使得包括在實現(xiàn)中間服務(wù)器200和客戶端300的信息處理裝置中的處理器根據(jù)存儲在存儲器或記錄介質(zhì)中的程序進行操作來實現(xiàn)。中間服務(wù)器200中的緩沖存儲器280和客戶端300中的緩沖存儲器380可以由例如各個信息處理裝置的存儲裝置或存儲器來實現(xiàn)。
[0222](中間服務(wù)器)
[0223]在中間服務(wù)器200中,請求接收單元202和文檔獲取單元204以與上述實施例1中的請求接收單元202和文檔獲取單元204相同的方式、響應(yīng)于來自客戶端300的請求而獲取文檔。另外,文檔分