專利名稱:用于確保用戶代理信息傳輸?shù)姆椒ê驮O(shè)備的制作方法
用于確保用戶代理信息傳輸?shù)姆椒ê驮O(shè)備
背景技術(shù):
網(wǎng)絡(luò)服務(wù)提供商和設(shè)備制造商不斷受到為消費(fèi)者遞送價(jià)值和便利(通過例如提 供引人注目的網(wǎng)絡(luò)服務(wù))的挑戰(zhàn)。從網(wǎng)絡(luò)服務(wù)遞送豐富內(nèi)容的一方面是調(diào)整該內(nèi)容的呈現(xiàn) 以適應(yīng)用戶的設(shè)備,尤其是用戶設(shè)備是具有有限顯示區(qū)域或用戶輸入機(jī)制或帶寬的移動(dòng)終 端的情況,例如蜂窩電話。許多內(nèi)容被使用超文本傳輸協(xié)議(HTTP)遞送到桌面計(jì)算機(jī),其 中,超文本傳輸協(xié)議(HTTP)用于在網(wǎng)絡(luò)上的服務(wù)進(jìn)程與用戶設(shè)備上的客戶端進(jìn)程之間交 換消息。桌面計(jì)算機(jī)是通常被賦予了大顯示屏、快速網(wǎng)絡(luò)連接、大存儲(chǔ)器和強(qiáng)大處理器的高 性能設(shè)備。然而,從服務(wù)側(cè)遞送到客戶端的內(nèi)容應(yīng)當(dāng)被修改,用于高效遞送以及在通常具有 有限的帶寬或顯示區(qū)域或輸入機(jī)制的移動(dòng)終端上的有效呈現(xiàn)。由此,HTTP允許HTTP客戶 端在HTTP消息的報(bào)頭部分的用戶代理字段中指示用戶設(shè)備的能力(例如制造商、型號(hào)和操 作系統(tǒng))。許多網(wǎng)絡(luò)服務(wù)進(jìn)程基于用戶代理字段中的信息對(duì)發(fā)送給客戶端進(jìn)程的HTTP消息 的內(nèi)容進(jìn)行調(diào)整,以改進(jìn)用戶的服務(wù)體驗(yàn),其中,所述調(diào)整例如是通過使內(nèi)容的最相關(guān)或感 興趣部分被更迅速地呈現(xiàn)和更容易地由用戶查看,以及將較不相關(guān)或感興趣的其他信息丟 棄或歸入較少訪問的區(qū)域。近來,一些網(wǎng)絡(luò)運(yùn)營(yíng)商對(duì)移動(dòng)設(shè)備上的客戶端進(jìn)程與網(wǎng)絡(luò)上的服務(wù)提供商之間的 HTTP消息插入了其自己的修改。通過使用稱為轉(zhuǎn)碼(transcoding)的機(jī)制,這些網(wǎng)絡(luò)運(yùn)營(yíng) 商通常嘗試從服務(wù)提供商請(qǐng)求完整HTTP內(nèi)容,并且針對(duì)用戶設(shè)備對(duì)該完整內(nèi)容進(jìn)行重新 格式化。一般而言,轉(zhuǎn)碼改變發(fā)送給服務(wù)提供商的HTTP報(bào)頭信息(例如用戶代理字段)。 由此,在不知道服務(wù)提供商所預(yù)想的用戶體驗(yàn)的情況下,網(wǎng)絡(luò)運(yùn)營(yíng)商影響了用戶體驗(yàn),并且 一些服務(wù)失效。許多服務(wù)提供商感到這是不希望的并且有害。
發(fā)明內(nèi)容
因此,需要一種方案來確保用戶代理信息到服務(wù)提供商的傳輸,即使是在網(wǎng)絡(luò)運(yùn) 營(yíng)商改變HTTP報(bào)頭的用戶代理字段的情況下。根據(jù)一個(gè)實(shí)施例,一種方法包括,使類型字段和客戶端平臺(tái)信息字段被插入到來 自本地客戶端進(jìn)程的超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段的第一部分。所述第 一部分不同于所述統(tǒng)一資源定位符字段的域部分。所述方法還包括,使所述超文本傳輸協(xié) 議消息被通過網(wǎng)絡(luò)發(fā)送到由所述域部分尋址的遠(yuǎn)程服務(wù)提供商。所述類型字段保存這樣的 數(shù)據(jù),所述數(shù)據(jù)指示所述本地客戶端進(jìn)程是否將所述客戶端信息字段插入到初始超文本傳 輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段中。根據(jù)另一實(shí)施例,一種設(shè)備包括至少一個(gè)處理器以及至少一個(gè)包括計(jì)算機(jī)程序代 碼的存儲(chǔ)器,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被配置為,通過所述至少一個(gè)處 理器,至少部分上,引起所述設(shè)備使類型字段和客戶端平臺(tái)信息字段被插入到來自所述設(shè) 備的超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段的第一部分中。所述第一部分不同于 所述統(tǒng)一資源定位符字段的域部分。還引起所述設(shè)備通過網(wǎng)絡(luò)將所述超文本傳輸協(xié)議消息 發(fā)送到由所述域部分尋址的遠(yuǎn)程服務(wù)提供商。所述類型字段保存這樣的數(shù)據(jù),所述數(shù)據(jù)指示所述設(shè)備是否將所述客戶端信息字段插入到初始超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源 定位符字段中。根據(jù)另一實(shí)施例,一種攜帶一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列的計(jì)算機(jī)可讀存儲(chǔ) 介質(zhì),其中,當(dāng)所述一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列被一個(gè)或多個(gè)處理器執(zhí)行時(shí),至少部 分上,引起設(shè)備使類型字段和客戶端平臺(tái)信息字段被插入到來自本地客戶端進(jìn)程的超文本 傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段的第一部分中。所述第一部分不同于所述統(tǒng)一資 源定位符字段的域部分。還引起所述設(shè)備通過網(wǎng)絡(luò)將所述超文本傳輸協(xié)議消息發(fā)送到由所 述域部分尋址的遠(yuǎn)程服務(wù)提供商。所述類型字段保存這樣的數(shù)據(jù),所述數(shù)據(jù)指示所述本地 客戶端進(jìn)程是否將所述客戶端信息字段插入到初始超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源 定位符字段中。根據(jù)另一實(shí)施例,一種設(shè)備包括裝置,用于使類型字段和客戶端平臺(tái)信息字段被 插入到來自本地客戶端進(jìn)程的超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段的第一部 分中,其中,所述第一部分不同于所述統(tǒng)一資源定位符字段的域部分。所述設(shè)備還包括裝 置,用于使所述超文本傳輸協(xié)議消息被通過網(wǎng)絡(luò)發(fā)送到由所述域部分尋址的遠(yuǎn)程服務(wù)提供 商。所述類型字段保存這樣的數(shù)據(jù),所述數(shù)據(jù)指示所述本地客戶端進(jìn)程是否將所述客戶端 信息字段插入到初始超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段中。根據(jù)一個(gè)實(shí)施例,一種方法,包括協(xié)助對(duì)服務(wù)的接入,包括授予接入權(quán)限。所述服 務(wù)包括,確定類型字段和客戶端平臺(tái)信息字段是否都被包括在接收自遠(yuǎn)程客戶端進(jìn)程的超 文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段的第一部分中。所述第一部分不同于所述統(tǒng) 一資源定位符字段的域部分。所述類型字段保存這樣的數(shù)據(jù),所述數(shù)據(jù)指示所述遠(yuǎn)程客戶 端是否將所述客戶端信息字段插入到初始超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字 段中。所述方法還包括,如果包括了所述類型字段和所述客戶端平臺(tái)信息字段這兩者,則基 于所述類型字段中的數(shù)據(jù),確定是否將所述類型字段和所述客戶端平臺(tái)信息字段這兩者包 括在超文本傳輸協(xié)議響應(yīng)消息的有效載荷部分的鏈接中的統(tǒng)一資源定位符字段的第一部 分中。所述服務(wù)進(jìn)一步包括,使所述超文本傳輸協(xié)議響應(yīng)消息被發(fā)送到所述遠(yuǎn)程客戶端進(jìn) 程。根據(jù)另一實(shí)施例,一種設(shè)備包括至少一個(gè)處理器以及至少一個(gè)包括計(jì)算機(jī)程序代 碼的存儲(chǔ)器,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被配置為,通過所述至少一個(gè)處 理器,至少部分上引起所述設(shè)備確定類型字段和客戶端平臺(tái)信息字段這兩者是否都被包括 在接收自遠(yuǎn)程客戶端進(jìn)程的超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段的第一部分 中。所述第一部分不同于所述統(tǒng)一資源定位符字段的域部分。所述類型字段保存這樣的數(shù) 據(jù),所述數(shù)據(jù)指示,遠(yuǎn)程客戶端是否將所述客戶端信息字段插入到初始超文本傳輸協(xié)議請(qǐng) 求消息的統(tǒng)一資源定位符字段中。還引起所述設(shè)備在所述類型字段和所述客戶端平臺(tái)信息 字段這兩者都被包括的情況下,基于所述類型字段中的數(shù)據(jù),確定是否將所述類型字段和 所述客戶端平臺(tái)信息字段包括在超文本傳輸協(xié)議響應(yīng)消息的有效載荷部分的鏈接中的統(tǒng) 一資源定位符字段的第一部分中。引起所述設(shè)備進(jìn)一步將所述超文本傳輸協(xié)議響應(yīng)消息發(fā) 送到所述遠(yuǎn)程客戶端進(jìn)程。根據(jù)另一實(shí)施例,一種攜帶一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列的計(jì)算機(jī)可讀存儲(chǔ) 介質(zhì),在被一個(gè)或更多處理器執(zhí)行時(shí)至少部分上引起設(shè)備確定類型字段和客戶端平臺(tái)信息字段這兩者是否都被包括在接收自遠(yuǎn)程客戶端進(jìn)程的超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一 資源定位符字段的第一部分中。所述第一部分不同于所述統(tǒng)一資源定位符字段的域部分。 所述類型字段保存這樣的數(shù)據(jù),所述數(shù)據(jù)指示,所述遠(yuǎn)程客戶端是否將所述客戶端信息字 段插入到初始超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段中。還引起所述設(shè)備在所述 類型字段和所述客戶端平臺(tái)信息字段這兩者都被包括的情況下,基于所述類型字段中的數(shù) 據(jù),確定是否將所述類型字段和所述客戶端平臺(tái)信息字段這兩者包括在超文本傳輸協(xié)議響 應(yīng)消息的有效載荷部分中的鏈接中的統(tǒng)一資源定位符字段的第一部分中。進(jìn)一步引起所述 設(shè)備將所述超文本傳輸協(xié)議響應(yīng)消息發(fā)送到所述遠(yuǎn)程客戶端進(jìn)程。根據(jù)另一實(shí)施例,一種設(shè)備包括裝置,用于確定類型字段和客戶端平臺(tái)信息字段 是否都被包括在接收自遠(yuǎn)程客戶端進(jìn)程的超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字 段的第一部分中。所述第一部分不同于所述統(tǒng)一資源定位符字段的域部分。所述類型字 段保存這樣的數(shù)據(jù),所述數(shù)據(jù)指示,所述遠(yuǎn)程客戶端是否將所述客戶端信息字段插入到初 始超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段中。所述設(shè)備還包括裝置,用于在所 述類型字段和所述客戶端平臺(tái)信息字段兩者都被包括的情況下,基于所述類型字段中的數(shù) 據(jù),確定是否將所述類型字段和所述客戶端平臺(tái)信息字段這兩者都包括在超文本傳輸協(xié)議 響應(yīng)消息的有效載荷部分中的鏈接中的統(tǒng)一資源定位符字段的第一部分中。所述設(shè)備進(jìn)一 步包括用于將所述超文本傳輸協(xié)議響應(yīng)消息發(fā)送到所述遠(yuǎn)程客戶端進(jìn)程的裝置。根據(jù)另一實(shí)施例,一種方法包括,將帶有用戶代理信息的cookie包括在超文本傳 輸協(xié)議請(qǐng)求消息中。根據(jù)另一實(shí)施例,一種方法包括,將帶有用戶代理信息的用戶專有超文 本傳輸協(xié)議報(bào)頭字段包括在超文本傳輸協(xié)議請(qǐng)求消息中。根據(jù)另一實(shí)施例,一種方法包括, 將帶有用戶代理信息的已加密的超文本傳輸協(xié)議報(bào)頭字段包括在超文本傳輸協(xié)議請(qǐng)求消 息中。根據(jù)各種其它實(shí)施例,一種攜帶一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列的計(jì)算機(jī)可讀 存儲(chǔ)介質(zhì),當(dāng)被一個(gè)或更多處理器執(zhí)行時(shí),至少部分上導(dǎo)致一種設(shè)備實(shí)施所述后三種方法 的一個(gè)或多個(gè)步驟。根據(jù)各種其它實(shí)施例,一種設(shè)備包括用于執(zhí)行所述后三種方法的一個(gè) 或多個(gè)步驟的裝置。根據(jù)各種其它實(shí)施例,一種設(shè)備包括至少一個(gè)處理器和至少一個(gè)包括 計(jì)算機(jī)程序代碼的存儲(chǔ)器,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被配置為,通過所 述至少一個(gè)處理器,至少部分上引起所述設(shè)備執(zhí)行所述后三種方法的一個(gè)或多個(gè)步驟。從以下通過示出若干特定實(shí)施例和實(shí)施方式給出的詳細(xì)描述中,本發(fā)明的其它方 面、特征和優(yōu)勢(shì)將顯而易見,其中,所述實(shí)施例和實(shí)施方式包括了所設(shè)想的用于實(shí)現(xiàn)本發(fā)明 的最佳模式。本發(fā)明還能夠?qū)崿F(xiàn)其它的不同實(shí)施例,并且其若干細(xì)節(jié)可以在各種顯而易見 的方面被修改,而不脫離本發(fā)明的精神和范圍。相應(yīng)地,附圖和描述應(yīng)當(dāng)被看作實(shí)際上是示 例性的,而非限制性的。
附圖中作為示例而非限制示例出本發(fā)明的實(shí)施例,其中圖1是根據(jù)一個(gè)實(shí)施例的、能夠確保到服務(wù)提供商的用戶代理信息的傳輸?shù)南到y(tǒng) 圖;圖2A是根據(jù)一個(gè)實(shí)施例的、具有額外客戶端平臺(tái)信息的超文本傳輸協(xié)議(HTTP)請(qǐng)求消息的組成字段圖;圖2B是根據(jù)一個(gè)實(shí)施例的、具有額外客戶端平臺(tái)信息的HTTP響應(yīng)消息的組成字 段圖;圖2C和圖2D是示出根據(jù)各種實(shí)施例的、用于將客戶端平臺(tái)信息包括在HTTP消息 中的URL中的示意性可替換方法的圖;圖3是根據(jù)一個(gè)實(shí)施例的、用于確保用戶代理信息到服務(wù)提供商的傳輸?shù)目蛻舳?進(jìn)程的流程圖;圖4是根據(jù)一個(gè)實(shí)施例的、用于確保用戶代理信息到服務(wù)提供商的傳輸?shù)姆?wù)器 進(jìn)程的流程圖;圖5A直到圖5C是示出根據(jù)各種實(shí)施例、客戶端和服務(wù)器如何處理可攜帶客戶端 平臺(tái)信息的統(tǒng)一資源定位符(URL)的圖;圖6A直到6B是根據(jù)各種實(shí)施例的、為傳輸用戶代理字段之外的客戶端平臺(tái)信息 而交換的消息的時(shí)序圖;圖7是可用于實(shí)現(xiàn)本發(fā)明的一個(gè)實(shí)施例的硬件的圖;圖8是可用于實(shí)現(xiàn)本發(fā)明的一個(gè)實(shí)施例的芯片組的圖;以及圖9是可用于實(shí)現(xiàn)本發(fā)明的一個(gè)實(shí)施例的移動(dòng)終端(例如手機(jī))的圖。
具體實(shí)施例方式公開了一種用于確保用戶代理信息到服務(wù)提供商的傳輸?shù)姆椒?、設(shè)備和計(jì)算機(jī)程 序的示例。在以下描述中,出于解釋目的,許多特定細(xì)節(jié)被闡述,以便提供對(duì)本發(fā)明的實(shí)施 例的透徹理解。然而對(duì)本領(lǐng)域的技術(shù)人員顯而易見,本發(fā)明的實(shí)施例可以在沒有這些特定 細(xì)節(jié)或通過等效布置的情況下實(shí)現(xiàn)。在其它情況下,眾所周知的結(jié)構(gòu)和設(shè)備以框圖形式示 出,從而避免不必要地遮蔽本發(fā)明的實(shí)施例。計(jì)算機(jī)進(jìn)程交互的客戶端-服務(wù)器模型被廣泛地了解和使用。根據(jù)客戶端-服務(wù) 器模型,客戶端進(jìn)程向服務(wù)器進(jìn)程發(fā)送包括請(qǐng)求的消息,以及服務(wù)器進(jìn)程通過提供服務(wù)來 響應(yīng)。服務(wù)器進(jìn)程還可以通過對(duì)客戶端進(jìn)程的響應(yīng)來返回消息。通常,客戶端進(jìn)程和服務(wù) 器進(jìn)程運(yùn)行在被稱為主機(jī)的不同計(jì)算機(jī)設(shè)備上,并且使用一個(gè)或多個(gè)用于網(wǎng)絡(luò)通信的協(xié)議 經(jīng)由網(wǎng)絡(luò)進(jìn)行通信。術(shù)語“服務(wù)器”通常用于指提供服務(wù)的進(jìn)程或運(yùn)行所述進(jìn)程的宿主計(jì) 算機(jī)。類似地,術(shù)語“客戶端”通常用于指作出請(qǐng)求的進(jìn)程或運(yùn)行所述進(jìn)程的宿主計(jì)算機(jī)。 除非從上下文中顯而易見,否則這里使用的術(shù)語“客戶端”和“服務(wù)器”是指進(jìn)程而非宿主 計(jì)算機(jī)。另外,出于包括可靠性、可擴(kuò)展性和冗余等原因,由服務(wù)器執(zhí)行的進(jìn)程可以被分解 為運(yùn)行在多個(gè)主機(jī)(有時(shí)稱為層級(jí))上的多個(gè)進(jìn)程。連接到通信網(wǎng)絡(luò)的多數(shù)節(jié)點(diǎn)上可用的 眾所周知的客戶端進(jìn)程是萬維網(wǎng)客戶端(被稱為 eb瀏覽器”,或簡(jiǎn)單地稱為“瀏覽器”), 其通過根據(jù)超文本傳輸協(xié)議(HTTP)格式化的消息,與大量的提供web頁面的被稱為萬維網(wǎng) 服務(wù)器中的任意服務(wù)器交互。當(dāng)用在此處時(shí),術(shù)語“客戶端平臺(tái)”指客戶端進(jìn)程運(yùn)行于其中的硬件和軟件環(huán)境, 以及關(guān)于客戶端類型的信息(例如設(shè)備的制造商和型號(hào)、設(shè)備選項(xiàng)、操作系統(tǒng)、客戶端進(jìn)程 是否是瀏覽器或一些其它應(yīng)用、以及客戶端進(jìn)程與之交互的其它軟件選項(xiàng))。客戶端平臺(tái)確 定顯示屏幕和用戶用來與客戶端進(jìn)程進(jìn)行交互的硬件和軟件控制,以及要發(fā)送到和預(yù)期來自客戶端進(jìn)程的信息的類型??蛻舳似脚_(tái)信息包括描述部分或全部客戶端平臺(tái)的數(shù)據(jù)。術(shù) 語“用戶代理”指通常用于從客戶端進(jìn)程向服務(wù)器進(jìn)程發(fā)送客戶端平臺(tái)信息的超文本傳輸 協(xié)議(HTTP)報(bào)頭中的字段。盡管相對(duì)于在瀏覽器與萬維網(wǎng)服務(wù)器之間交換的HTTP消息,描述了各種實(shí)施例, 但是可理解,此處描述的方法可以作為獨(dú)立應(yīng)用或軟件對(duì)象,例如嵌入在其它應(yīng)用中的窗 口小部件,用于經(jīng)由HTTP交互的其它客戶端和服務(wù)器。軟件對(duì)象是這樣的數(shù)據(jù)結(jié)構(gòu),其包 括描述運(yùn)行在處理器上的進(jìn)程的狀態(tài)的數(shù)據(jù),以及包括用于與進(jìn)程交換數(shù)據(jù)或改變進(jìn)程狀 態(tài)的指令。窗口小部件是具有用于與設(shè)備的用戶交互的圖形用戶接口的軟件對(duì)象,并且通 常具有用于與遠(yuǎn)程網(wǎng)絡(luò)節(jié)點(diǎn)上的后端進(jìn)程交互的應(yīng)用編程接口。圖1是根據(jù)一個(gè)實(shí)施例的、用于確保向服務(wù)提供商的用戶代理數(shù)據(jù)傳輸?shù)南到y(tǒng) 100的圖。許多移動(dòng)終端通過預(yù)定到網(wǎng)絡(luò)運(yùn)營(yíng)商(例如蜂窩電話服務(wù)提供商),來實(shí)現(xiàn)對(duì) 網(wǎng)絡(luò)的接入。如以上描述的,出于各種原因,這些網(wǎng)絡(luò)提供商中的一些干預(yù)由客戶端插入到 HTTP報(bào)頭的用戶代理字段中的客戶端平臺(tái)信息。因此,初始插入到用戶代理字段中的客戶 端平臺(tái)信息沒有被可靠地傳輸?shù)接煞?wù)提供商(例如社交網(wǎng)絡(luò)服務(wù)提供商)提供的服務(wù) 器,其中,所述服務(wù)提供商可能不同于且獨(dú)立于網(wǎng)絡(luò)運(yùn)營(yíng)商。服務(wù)器由此不能夠正確地對(duì)用 于客戶端進(jìn)程的客戶端平臺(tái)的服務(wù)器內(nèi)容進(jìn)行格式化。這可能導(dǎo)致差的用戶體驗(yàn)和對(duì)服務(wù) 提供商的反擊,包括用戶的投訴和用戶流失。因此,需要甚至在網(wǎng)絡(luò)運(yùn)營(yíng)商改變或刪除HTTP 消息中的用戶代理字段的情況下,也確保用戶代理信息的傳輸。為解決該問題,圖1的系統(tǒng)100引入將至少一些客戶端平臺(tái)信息插入到不被網(wǎng)絡(luò) 運(yùn)營(yíng)商改變的HTTP消息的其它部分(例如統(tǒng)一資源定位符(URL)字段)的能力。在一些 實(shí)施例中,該客戶端平臺(tái)信息被插入到存儲(chǔ)在用戶設(shè)備處并且被通過請(qǐng)求發(fā)送到服務(wù)器的 cookie中。在一些實(shí)施例中,該客戶端平臺(tái)信息被插入到私有HTTP報(bào)頭字段中,所述私有 HTTP報(bào)頭字段例如是密碼,其包含可被服務(wù)器但不可被網(wǎng)絡(luò)運(yùn)營(yíng)商解碼的已加密數(shù)據(jù)。在 下面示出的實(shí)施例中,系統(tǒng)100可以與主動(dòng)將客戶端平臺(tái)信息引入到HTTP報(bào)頭中的URL中 的經(jīng)修改的HTTP客戶端合作,或者與被動(dòng)地使用已包括了客戶端平臺(tái)信息的URL的遺留 HTTP客戶端合作。如圖1中所示,系統(tǒng)100包括用戶設(shè)備(UE) 101,其中,用戶設(shè)備(UE) 101具有經(jīng)由 通信網(wǎng)絡(luò)105到第一 HTTP服務(wù)IlOa和第二 HTTP服務(wù)IlOb的連通性。作為示例,系統(tǒng)100 的通信網(wǎng)絡(luò)105包括一個(gè)或多個(gè)網(wǎng)絡(luò),例如數(shù)據(jù)網(wǎng)絡(luò)(未示出)、無線網(wǎng)絡(luò)(未示出)、電話 網(wǎng)絡(luò)(未示出)或其任意組合??稍O(shè)想數(shù)據(jù)網(wǎng)絡(luò)可以是任意局域網(wǎng)(LAN)、城域網(wǎng)(MAN)、 廣域網(wǎng)(WAN)、公共數(shù)據(jù)網(wǎng)絡(luò)(例如互聯(lián)網(wǎng))或任意其它合適的分組交換網(wǎng)絡(luò),其中,所述分 組交換網(wǎng)絡(luò)例如是商業(yè)所有的私有分組交換網(wǎng)絡(luò),如私有電纜或光纖網(wǎng)絡(luò)。另外,無線網(wǎng)絡(luò) 可以是例如蜂窩網(wǎng)絡(luò),并且可以利用各種技術(shù),包括增強(qiáng)數(shù)據(jù)率全球演進(jìn)(EDGE)、通用分組 無線業(yè)務(wù)(GPRS)、全球移動(dòng)通信系統(tǒng)(GSM)、互聯(lián)網(wǎng)協(xié)議多媒體子系統(tǒng)(IMS)、通用移動(dòng)電 信系統(tǒng)(UMTS)等,以及任意其它合適的無線介質(zhì),例如微波接入全球互通(WiMAX)、長(zhǎng)期演 進(jìn)(LTE)網(wǎng)絡(luò)、碼分多址(CDMA)、寬帶碼分多址(WCDMA)、無線高保真(WiFi)、衛(wèi)星、移動(dòng)自 組網(wǎng)絡(luò)(MANET)等。通信網(wǎng)絡(luò)105的至少一部分103由為UE 101提供移動(dòng)網(wǎng)絡(luò)接入的網(wǎng) 絡(luò)運(yùn)營(yíng)商來運(yùn)營(yíng)。UE 101是任意類型的移動(dòng)終端、固定終端或便攜式終端,包括移動(dòng)手機(jī)、臺(tái)站、單元、設(shè)備、多媒體計(jì)算機(jī)、多媒體板、互聯(lián)網(wǎng)節(jié)點(diǎn)、通信器、桌面計(jì)算機(jī)、膝上電腦、個(gè)人數(shù)字 助理(PDA)或其任意組合。還設(shè)想U(xiǎn)E 101可以支持任意類型的與用戶的接口(例如“可佩 戴”電路(wearable circuitry)等)。在所示實(shí)施例中,UE 101是經(jīng)由無線鏈路連接到通 信網(wǎng)絡(luò)105的網(wǎng)絡(luò)提供商部分103的、如下面參考圖9詳細(xì)描述的移動(dòng)終端。作為示例,HTTP客戶端107,例如UE 101上的瀏覽器,與HTTP服務(wù)IlOa和IlOb 使用已熟知的、新的或仍然開發(fā)中的協(xié)議來與彼此以及通信網(wǎng)絡(luò)105的其它部件進(jìn)行通 信。在該環(huán)境中,協(xié)議包括一組規(guī)則,所述一組規(guī)則定義通信網(wǎng)絡(luò)105內(nèi)的網(wǎng)絡(luò)節(jié)點(diǎn)如何基 于在通信鏈路上發(fā)送的信息來與彼此進(jìn)行交互。所述協(xié)議實(shí)施在每個(gè)節(jié)點(diǎn)內(nèi)的不同操作層 上,從生成和接收各種類型的物理信號(hào),到選擇用于傳輸那些信號(hào)的鏈路,到由那些信號(hào)指 示的信息的格式化,到識(shí)別運(yùn)行在計(jì)算機(jī)系統(tǒng)上的哪個(gè)軟件應(yīng)用發(fā)送或接收所述信息。在 開放系統(tǒng)互連(OSI)參考模型中描述了用于基于網(wǎng)絡(luò)交換信息的概念上的不同協(xié)議層。網(wǎng)絡(luò)節(jié)點(diǎn)之間的通信通常通過交換離散的數(shù)據(jù)分組來實(shí)現(xiàn)。每個(gè)分組典型地包 括(1)關(guān)聯(lián)于特定協(xié)議的報(bào)頭信息,以及(2)跟隨在報(bào)頭信息之后并且包括可獨(dú)立于所述 特定協(xié)議來處理的信息的有效載荷信息。在一些協(xié)議中,分組包括C3)跟隨在有效載荷之 后并且指示有效載荷信息的結(jié)束的尾部信息。報(bào)頭包括例如分組的源、其目的地、有效載荷 的長(zhǎng)度以及協(xié)議所使用的其它屬性的信息。通常,用于特定協(xié)議的有效載荷中的數(shù)據(jù)包括 用于與OSI參考模型的不同的、較高層關(guān)聯(lián)的不同協(xié)議的報(bào)頭和有效載荷。用于特定協(xié)議 的報(bào)頭通常指示被包含在其有效載荷中的下一個(gè)協(xié)議的類型。較高層協(xié)議被認(rèn)為被封裝在 較低層協(xié)議中。如由OSI參考模型定義的,被包括在跨越多個(gè)異構(gòu)網(wǎng)絡(luò)(例如互聯(lián)網(wǎng))的 分組中的報(bào)頭通常包括物理(第1層)報(bào)頭、數(shù)據(jù)鏈路(第2層)報(bào)頭、網(wǎng)絡(luò)(第3層)報(bào) 頭和傳輸(第4層)報(bào)頭以及各種應(yīng)用報(bào)頭(第5層、第6層和第7層)。根據(jù)所示的實(shí)施例,HTTP服務(wù)IlOa和IlOb每個(gè)都包括服務(wù)器側(cè)客戶端平臺(tái)信息 傳輸進(jìn)程140,以便確保即使HTTP報(bào)頭的用戶代理字段在通信網(wǎng)絡(luò)105的網(wǎng)絡(luò)運(yùn)營(yíng)商部分 103中被改變或移除,客戶端平臺(tái)信息也被從HTTP客戶端107傳輸。在示意性實(shí)施例中, HTTP客戶端107包括客戶端側(cè)用戶平臺(tái)信息傳輸進(jìn)程142。在其它實(shí)施例中,遺留HTTP客 戶端進(jìn)程被使用,客戶端側(cè)客戶端平臺(tái)信息傳輸進(jìn)程142被省略。已設(shè)想,這些進(jìn)程的功能 可以由芯片組、計(jì)算機(jī)或移動(dòng)終端來實(shí)施,并且可以被并入一個(gè)或更多進(jìn)程中,或由具有等 效功能的其它部件來實(shí)施。圖2是根據(jù)一個(gè)實(shí)施例的、具有額外客戶端平臺(tái)信息202的超文本傳輸協(xié)議 (HTTP)請(qǐng)求消息250的組成圖。標(biāo)準(zhǔn)HTTP字段在由互聯(lián)網(wǎng)工程任務(wù)組(IETF)公布在互聯(lián) 網(wǎng)上的HTTP規(guī)范中定義。HTTP消息被包括在一個(gè)或更多數(shù)據(jù)分組中,基于封裝該HTTP消 息的一個(gè)或更多低層協(xié)議,通過網(wǎng)絡(luò)(例如網(wǎng)絡(luò)10 路由所述一個(gè)或更多數(shù)據(jù)分組。HTTP 請(qǐng)求消息包括報(bào)頭部分252和有效載荷部分。報(bào)頭部分252包括被用于識(shí)別消息的目的地 的URL字段沈0 ;用戶代理字段270 ;以及零個(gè)或更多可選密碼字段272,用于保存已加密的 報(bào)頭信息,例如數(shù)字簽名;以及零個(gè)或更多由特定網(wǎng)絡(luò)應(yīng)用定義的可選私有報(bào)頭字段274 ; 以及零個(gè)或更多可選cookie字段276。cookie字段276的內(nèi)容由客戶端通過使用被發(fā)送 到客戶端的之前的HTTP響應(yīng)消息的一組cookie字段來生成。報(bào)頭252的與本實(shí)施例無關(guān) 的其它字段未被示出,以避免模糊過程操作。URL字段260包括域字段沈2,其中,域字段262標(biāo)識(shí)消息的目的地運(yùn)行在哪個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)(例如node, com)和通常還有運(yùn)行于該節(jié)點(diǎn)上的進(jìn)程類型,例如萬維網(wǎng)服務(wù)器(例 如,在node, com之前附力口 www.)或圖像(例如node, com/image, jpg)或其它應(yīng)用??蛇x子 域字段264保存這樣的數(shù)據(jù),所述數(shù)據(jù)指示將要接收消息的進(jìn)程所駐留于的網(wǎng)絡(luò)節(jié)點(diǎn)上的 目錄(如果不是位于節(jié)點(diǎn)的最高層的話),例如是/頂層目錄名/較低目錄名/最深目錄 名/文件名。如果文件名被留空,則目的節(jié)點(diǎn)上的web服務(wù)器假定最深目錄中的索引文件。 如果有一個(gè)不出現(xiàn),則鏈接是不完整的,將錯(cuò)誤通知給發(fā)送消息的網(wǎng)絡(luò)節(jié)點(diǎn)。在一些情況下,接收消息的進(jìn)程基于接收進(jìn)程所使用的一個(gè)或更多查詢參數(shù)的值 而有區(qū)別地運(yùn)行。此類參數(shù)的值在URL的參數(shù)字段沈6中提供,其以問號(hào)開始,例如是? first = 1234&second = 12#$%。用戶代理字段270保存這樣的數(shù)據(jù),所述數(shù)據(jù)指示至少部分客戶端平臺(tái)信息。用 戶代理請(qǐng)求報(bào)頭字段包含與發(fā)起請(qǐng)求的客戶端平臺(tái)(在HTTP規(guī)范中被稱為用戶代理)有 關(guān)的信息。該信息被用于眾多目的中的零個(gè)或更多,包括統(tǒng)計(jì)目的、協(xié)議違反的跟蹤,以及 用于為避免特定平臺(tái)限制而對(duì)響應(yīng)進(jìn)行調(diào)整的對(duì)客戶端平臺(tái)的自動(dòng)識(shí)別。用戶代理字段是 可選的,并且應(yīng)當(dāng)被包含于HTTP請(qǐng)求,但不被包含于HTTP響應(yīng)。該字段可以包含多個(gè)產(chǎn)品 標(biāo)記和注釋,所述產(chǎn)品標(biāo)記和注釋標(biāo)識(shí)客戶端平臺(tái)和構(gòu)成客戶端平臺(tái)的重要部分的任意子 產(chǎn)品。作為慣例,產(chǎn)品標(biāo)記被按照其對(duì)于目的服務(wù)器進(jìn)程的重要性列出。產(chǎn)品標(biāo)記被用于 允許進(jìn)行通信的應(yīng)用通過軟件名稱和版本來標(biāo)識(shí)其自身。多數(shù)使用產(chǎn)品標(biāo)記的字段還允許 列出構(gòu)成應(yīng)用的重要部分的子產(chǎn)品,以白空間來分隔??梢酝ㄟ^用圓括號(hào)包圍注釋文本,將 注釋包括在一些HTTP報(bào)頭字段中。僅在作為其字段值定義的一部分來包含“注釋”的字段 中允許注釋。在所有其它字段中,圓括號(hào)被認(rèn)為是字段值的一部分。文本串如果被用雙引 號(hào)引用的話則被作為單一詞來解析。僅在引文串和注釋結(jié)構(gòu)中,反斜線字符(“\”)可以被 用作單字符引用機(jī)制。用于示例的用戶代理字段的示例性內(nèi)容通過下面的串1來給出Mozilla/5. 0 (Symbian 0S/9. 2 ;U ;Series60/3. 1 NokiaN95/10. 0. 010 ; Profile/MIDP-2. 0 Configuration/CLDC-1. 1)Apple WebKit/413(KHTML, like Gecko) Safari/413(1)這些內(nèi)容指示,發(fā)送進(jìn)程是按重要性順序與Mozilla/5. 0、AppleffebKit/413和 Mfari/413兼容的瀏覽器。注釋在括號(hào)中,以及被用于指示客戶端平臺(tái)的進(jìn)一步特征。 Symbain0S/9. 2和kries60/3. 1指示操作系統(tǒng)和版本。NokiaN95/10. 0. 010指示設(shè)備模型 和 ROM 版本。Profile/MIDP-2. 0 和 Conf iguration/CLDC-1. 1 指示設(shè)備能夠執(zhí)行 Java 軟 件。HTTP請(qǐng)求消息250的有效載荷部分2M對(duì)于GET請(qǐng)求為空,但對(duì)于POST請(qǐng)求可以 包括數(shù)據(jù)。根據(jù)不同實(shí)施例,至少一些客戶端平臺(tái)信息被包括在除用戶代理字段270之外的 多個(gè)HTTP字段的一個(gè)HTTP字段中的客戶端平臺(tái)信息字段中。例如,如圖2A中所示,客戶 端平臺(tái)信息202被包括在子域字段沈4中的客戶端信息字段中。在其它實(shí)施例中,客戶端 平臺(tái)信息被包括在參數(shù)字段266或密碼字段272或私有報(bào)頭字段274或cookie字段276 或某組合中。僅一個(gè)實(shí)施例被示出,以便強(qiáng)調(diào)所有感興趣的客戶端信息都可以被插入到單 個(gè)字段中。在一些實(shí)施例中,客戶端平臺(tái)信息不被插入到域字段262中,以便避免與將請(qǐng)求消息250遞送到正確的網(wǎng)絡(luò)節(jié)點(diǎn)相干擾。將客戶端平臺(tái)信息插入到這些字段中所面對(duì)的挑戰(zhàn)是,使該改變向后兼容于遺留 HTTP客戶端(例如遺留瀏覽器)。例如,如果具有型號(hào)為N95的蜂窩電話的用戶向具有型號(hào) 為E90的蜂窩電話的另外的用戶轉(zhuǎn)發(fā)具有客戶端平臺(tái)信息的URL,則所述第二個(gè)用戶可查 看未針對(duì)該第二用戶的設(shè)備進(jìn)行優(yōu)化的內(nèi)容。這被稱為鏈接轉(zhuǎn)發(fā)/共享問題。此外,當(dāng)?shù)?一個(gè)URL被手工輸入時(shí),該方法不可行。例如,用戶可在瀏覽器上輸入無格式的URL(plain URL),服務(wù)器將在判斷添加了什么客戶端平臺(tái)信息時(shí)遇到困難。這被稱為開始階段問題。在一些實(shí)施例中,向后兼容性通過使用URL字段中的一個(gè)URL字段和除客戶端平 臺(tái)信息字段之外還包括類型字段來接近。所述類型字段指示,是已修改的還是遺留的客戶 端發(fā)送了請(qǐng)求。已修改的HTTP客戶端可以在不需要來自HTTP服務(wù)器的任何幫助的情況下 發(fā)送信息。然而,如下面詳細(xì)描述的那樣,遺留HTTP客戶端使用來自HTTP服務(wù)器的一些幫 助。來自已修改HTTP客戶端的URL具有被稱為“主用”(primary)或類型A的類型值;以 及,來自遺留HTTP客戶端的URL具有被稱為“退避”(fallkick)或類型B的類型值。由此, 類型字段保存這樣的數(shù)據(jù),所述數(shù)據(jù)指示,客戶端進(jìn)程是否如由已修改HTTP客戶端完成的 那樣,將客戶端信息字段插入到初始HTTP請(qǐng)求消息的URL字段中。遺留HTTP客戶端不將 客戶端信息字段插入到初始HTTP請(qǐng)求消息的URL字段中,而是如下面描述的那樣,依賴于 服務(wù)器引起該字段被插入到初始請(qǐng)求消息之前或之后。圖2B是根據(jù)一個(gè)實(shí)施例的、具有額外客戶端平臺(tái)信息292的HTTP響應(yīng)消息280的 組成的圖。響應(yīng)消息280包括報(bào)頭部分282和有效載荷部分觀4。報(bào)頭部分282包括零個(gè) 或更多可選的設(shè)置cookie字段286以及零個(gè)或更多可選的私有報(bào)頭字段觀8。設(shè)置cookie 字段286保存這樣的數(shù)據(jù),所述數(shù)據(jù)指示信息將在來自接收該響應(yīng)消息的客戶端進(jìn)程的隨 后請(qǐng)求消息的cookie字段276中被返回。HTTP響應(yīng)消息觀0的有效載荷部分284保存將由HTTP客戶端呈現(xiàn)在用戶設(shè)備上 的內(nèi)容,并且包括文本或圖像(未示出)或者這兩者。也可以包括到具有相關(guān)服務(wù)的其它 服務(wù)器的鏈接,例如所示的鏈接URL 290a J90b和由省略號(hào)指示的其它鏈接。也可以包括 例如表單的腳本,以便通過提供指令來輔助與用戶的交互,其中,所述指令將被HTTP客戶 端或插入到HTTP客戶端中的腳本引擎(例如Javascript引擎或ActiveX引擎)來執(zhí)行。 腳本四加和比較腳本被示出。由比較腳本提供的功能在下面參考圖6B進(jìn)行詳 細(xì)描述。根據(jù)一些實(shí)施例,客戶端平臺(tái)信息四8或客戶端平臺(tái)信息腳本或者這兩者被 包括在發(fā)送到遺留HTTP客戶端的HTTP響應(yīng)消息所包含的鏈接URL中。在一些其它實(shí)施例 中,客戶端平臺(tái)信息298被包括在發(fā)送到遺留HTTP客戶端的HTTP響應(yīng)消息的設(shè)置cookie 字段觀6中。在許多實(shí)施例中,這種客戶端平臺(tái)信息298沒有被發(fā)送到已修改的HTTP客戶端。在一些其它實(shí)施例中,客戶端平臺(tái)信息298被包括在發(fā)送到HTTP客戶端的HTTP 響應(yīng)消息的私有報(bào)頭字段觀8中,其中,所述HTTP客戶端不是遺留HTTP客戶端,而是將私 有報(bào)頭字段288用于該目的的已修改客戶端。圖2C和圖2D是示出根據(jù)不同實(shí)施例的、用于將客戶端平臺(tái)信息包括在HTTP消息 的URL中的可替換方法的圖。圖2C示出了被插入到或者在請(qǐng)求消息的報(bào)頭252部分、或者是響應(yīng)消息的有效載荷部分284中的HTTP消息的URL中的子域字段210中的類型字段212 和客戶端平臺(tái)信息字段214。例如,為在子域字段沈4中指示Mozilla 5. O兼容性和設(shè)備 NokiaN95和操作系統(tǒng)SymbianOS 9. 2,以下串2/Mozilla/5. 0/NokiaN95/10. 0. 010/Symbian OS/9. 2/ (2)可以被作為客戶端平臺(tái)信息字段214插入到實(shí)際子域(如果有的話)之后的子域 字段210中。在其它實(shí)施例中,更多或更少的信息被包括在客戶端平臺(tái)信息字段中,或者不 同的信息被包括。例如,web服務(wù)器對(duì)操作系統(tǒng)不太感興趣,對(duì)瀏覽器版本和設(shè)備型號(hào)較感 興趣,因此串“SymbianOS/9. 2”可以被省略。在一些實(shí)施例中,眾所周知的最流行用戶代理 串的列表被定義,以及,僅僅該列表中對(duì)應(yīng)用戶代理串的索引被插入到客戶端平臺(tái)信息字 段中。如果URL在由已修改HTTP客戶端形成的請(qǐng)求報(bào)頭中,則類型字段212指示主用(類 型A)值。如果URL在由HTTP服務(wù)器形成的響應(yīng)有效載荷中,則類型字段212指示退避(類 型B)值。通過包括類型字段和客戶端平臺(tái)信息字段這兩者,子域字段210具有看起來像串 3a或北的串。/type = A/Mozilla/5. 0/NokiaN95/10. 0. 010/Symbian0S/9. 2/ (3a)/type = B/Mozilla/5. 0/NokiaN95/10. 0. 010/Symbian0S/9. 2/ (3b)圖2D示出了被插入到或者在請(qǐng)求消息的報(bào)頭252部分,或者是響應(yīng)消息的有效載 荷觀4中的HTTP消息的URL中的參數(shù)字段220中的類型字段222和客戶端平臺(tái)信息字段 224。例如,為指示參數(shù)字段沈6中的相同客戶端平臺(tái)信息,以下串4? Mozilla = 5. 0&device = NokiaN95/10. 0. 010&0S = Symbian OS/9.2 (4)可以被作為客戶端平臺(tái)信息字段2 插入?yún)?shù)字段220中。在其它實(shí)施例中,如 以下描述的那樣,更多或更少的信息被包括在客戶端平臺(tái)信息字段中,或者不同的信息被 包括。如果URL在由已修改HTTP客戶端形成的請(qǐng)求報(bào)頭中,則類型字段222指示主用(類 型A)值。如果URL在由HTTP服務(wù)器形成的響應(yīng)有效載荷中,則類型字段222指示退避(類 型B)值。通過包括類型字段和客戶端平臺(tái)信息字段這兩者,參數(shù)字段220具有看起來像串 5a或5b的串。? type = A&Mozilla = 5. 0&device = NokiaN95/10. 0. 010&0S = Symbian 0S/9.2(5a)? type = B&Mozilla = 5. O&device = NokiaN95/10. 0. 010&0S = Symbian0S/9. 2(5b)盡管由于示例目的而以特定順序作為整體塊示出了消息和字段,但在其它實(shí)施例 中,一個(gè)或更多消息或字段或者其中的若干部分,可以被合并或分隔或以不同順序出現(xiàn)。圖3是根據(jù)一個(gè)實(shí)施例的、用于確保向服務(wù)提供商的用戶代理信息傳輸?shù)目蛻暨^ 程300的流程圖。盡管由于示例目的,在圖3和隨后的流程4中以特定順序示出了步 驟,但在其它實(shí)施例中,一個(gè)或更多步驟或其部分被以不同順序、或在時(shí)間上重疊地實(shí)施, 被串行或并行地執(zhí)行,或者一個(gè)或更多步驟或其部分被省略,或者一個(gè)或更多附加步驟被 添加,或者所述流程以一些組合的方式被改變。在一個(gè)實(shí)施例中,已修改HTTP客戶端107中的客戶端側(cè)客戶端平臺(tái)信息傳輸進(jìn)程 142實(shí)施過程300,并且實(shí)現(xiàn)在例如圖8中所示的包括處理器和存儲(chǔ)器的芯片組中、或作為 如圖9中所示的移動(dòng)終端的一部分、或這兩者。在另一實(shí)施例中,遺留HTTP客戶端實(shí)施圖3中所示的步驟的子集,并且被在例如圖8中所示的包括處理器和存儲(chǔ)器的芯片組中、或作 為圖9中所示的移動(dòng)終端的一部分、或作為如圖7中所示的計(jì)算機(jī)來實(shí)現(xiàn)。在步驟301中,確定用于用戶代理字段的客戶端平臺(tái)信息。該步驟由發(fā)送HTTP請(qǐng) 求消息的多數(shù)HTTP客戶端例行地實(shí)現(xiàn),并且是本領(lǐng)域中眾所周知的。由于示例目的,假設(shè) 客戶端平臺(tái)信息與上面詳述的用于形成示例性用戶代理串1的相同。在步驟303中,服務(wù)提供商在網(wǎng)絡(luò)上所提供的服務(wù)的URL被接收,其中,所述URL 例如是作為之前HTTP響應(yīng)消息(例如web頁面或窗口小部件)、電子郵件、文檔、即時(shí)消息 中的鏈接,或是作為來自客戶端所運(yùn)行于的設(shè)備(例如UE 101)的用戶的手工輸入。如由虛線所示的那樣,遺留HTTP客戶端然后跳到步驟309,在該處,HTTP請(qǐng)求消息 250帶著如在URL字段沈0中接收的URL和用戶代理字段270中的用戶代理串被發(fā)送。請(qǐng) 求250經(jīng)受由服務(wù)提供商(例如網(wǎng)絡(luò)部分103的網(wǎng)絡(luò)運(yùn)營(yíng)商)造成的用戶代理字段270的 丟失。如果客戶端平臺(tái)信息202被包括在被接收并放入字段沈0中的URL中,那么,如果用 戶代理字段270丟失或被檢測(cè)到已被改變,則服務(wù)器將依賴于該信息。如果客戶端平臺(tái)信 息202沒有被包括在被接收并放入字段沈0中的URL中,那么,如果用戶代理字段270丟失 或被檢測(cè)到已被改變,則服務(wù)器將不知道客戶端平臺(tái)信息。如下面詳細(xì)描述的那樣,在所示 的實(shí)施例中,被發(fā)送到遺留HTTP客戶端的鏈接URL包括客戶端平臺(tái)信息字段和具有退避值 的類型字段。如果在步驟303中URL在包括腳本的HTTP響應(yīng)消息中被接收,則腳本在步驟303 之前或期間被執(zhí)行。如果腳本指示客戶端將來自用戶代理信息的至少一些客戶端平臺(tái)信息 包括在請(qǐng)求報(bào)頭(例如URL字段260或私有報(bào)頭字段274或密碼字段27 中,那么,如果 用戶代理字段270丟失或被檢測(cè)到已被改變,則服務(wù)器將依賴于該信息。類似地,如果URL在步驟303中在包括設(shè)置cookie字段266的HTTP響應(yīng)消息中被 接收,其中,設(shè)置cookie字段266指示cookie參數(shù)被設(shè)置為一個(gè)或更多用戶代理參數(shù),那 么,在步驟303之前或期間,HTTP請(qǐng)求250將包括具有客戶端平臺(tái)信息的cookie字段276 ; 以及,如果用戶代理字段270丟失或被檢測(cè)到已被改變,則服務(wù)器將依賴于該信息。然而,應(yīng)當(dāng)指出,一些URL在HTTP響應(yīng)消息之外被接收,例如作為電子郵件、即時(shí) 消息、文檔中的鏈接或手工輸入的鏈接。在所述情況下,既沒有腳本也沒有cookie來從網(wǎng) 絡(luò)提供商的更改拯救出用戶代理字段270中的客戶端平臺(tái)信息。在步驟309之后,步驟311中確定客戶端是否被完成。如果例如因?yàn)榱硪?URL在 規(guī)定時(shí)間間隔內(nèi)被接收而未被完成,則控制回到步驟303,以便接收下一個(gè)URL。否則,客戶 端進(jìn)程結(jié)束。具有客戶端側(cè)客戶端平臺(tái)信息傳輸進(jìn)程142的已修改HTTP客戶端在步驟309中 發(fā)送HTTP請(qǐng)求消息之前,還實(shí)施步驟305或307中的一個(gè)或更多。在步驟305中,確定被用于用戶代理字段的客戶端平臺(tái)信息的子集。所述子集由 在步驟303中選擇的URL指示的服務(wù)使用。例如,如果服務(wù)是web服務(wù)器,則瀏覽器兼容性 以及設(shè)備型號(hào)和版本全部都是在所述子集中所期望的。然而,如果特定操作系統(tǒng)功能將被 服務(wù)使用,則操作系統(tǒng)信息也是期望的。任意方法可以被用于確定該子集。在不同實(shí)施例 中,指示該子集的數(shù)據(jù)被作為軟件指令中的默認(rèn)值而被包括、被作為來自本地或遠(yuǎn)程節(jié)點(diǎn) 上的管理員的手工輸入而接收、被從本地文件或數(shù)據(jù)庫取出、或被響應(yīng)于查詢或主動(dòng)地從網(wǎng)絡(luò)上的不同節(jié)點(diǎn)發(fā)送出,或者,所述數(shù)據(jù)通過使用這些方法的某種組合而被接收。在步驟307中,生成具有在不同于用戶代理的字段中的客戶端平臺(tái)信息子集的 HTTP消息。在一些實(shí)施例中,客戶端平臺(tái)信息的子集被包括在針對(duì)服務(wù)進(jìn)行格式化的 cookie中(即使URL未在具有設(shè)置cookie字段的HTTP響應(yīng)中被接收)。類似地,客戶端 平臺(tái)信息的子集被包括在密碼字段或私有報(bào)頭字段中(即使URL未在具有用于產(chǎn)生那些字 段的腳本的HTTP響應(yīng)中被接收)。在所示的實(shí)施例中,客戶端平臺(tái)信息的子集被包括在URL字段沈0的客戶端平臺(tái) 信息字段214或224中,以及,主用值被包括在URL字段沈0的類型字段212或222中,所 述主用值用于指示,已修改的HTTP客戶端產(chǎn)生了 URL并將其插入發(fā)送給服務(wù)的初始HTTP 請(qǐng)求消息中。該方法的優(yōu)勢(shì)在于,消耗較少的資源,以及,比這樣的實(shí)施例中產(chǎn)生的延遲短, 所述實(shí)施例依賴于對(duì)每個(gè)URL執(zhí)行特殊腳本來向HTTP報(bào)頭添加附加字段或?yàn)槊總€(gè)HTTP請(qǐng) 求存儲(chǔ)和添加cookie。cookie和腳本這兩者通常都涉及去往服務(wù)的兩個(gè)HTTP請(qǐng)求消息加 上附加的響應(yīng)和客戶端側(cè)的處理時(shí)間。使用URL使得能夠在第一 HTTP請(qǐng)求消息中傳送期 望的客戶端平臺(tái)信息。在本實(shí)施例中,由已修改HTTP客戶端發(fā)送的初始HTTP請(qǐng)求消息與 由已修改HTTP客戶端發(fā)送的當(dāng)前HTTP請(qǐng)求消息相同。類型A URL (也稱為主用URL)包括客戶端平臺(tái)信息字段214或224以及在類型字 段中具有主用值的類型字段212或222。類型B URL(也稱為退避URL)包括客戶端平臺(tái)信 息字段214或224以及在類型字段中具有退避值的類型字段212或222。無格式URL是不 具有類型字段或客戶端平臺(tái)信息字段的URL。由此,在所示的實(shí)施例中,無論在步驟303中 被接收的URL是無格式URL、類型A URL還是類型B URL,已修改的HTTP客戶端在步驟307 期間總是在HTTP報(bào)頭中包括類型A URL0然后在步驟309中發(fā)送HTTP請(qǐng)求消息。圖4是根據(jù)一個(gè)實(shí)施例的、用于確保向服務(wù)提供商的用戶代理信息傳輸?shù)姆?wù)器 過程400的流程圖。在一個(gè)實(shí)施例中,服務(wù)IlOa或服務(wù)IlOb中的服務(wù)器側(cè)客戶端平臺(tái)信息 傳輸進(jìn)程140實(shí)施過程400,并且被例如作為如圖8中所示的包括處理器和存儲(chǔ)器的芯片組 或作為圖7中示出的計(jì)算機(jī)系統(tǒng)或這兩者來實(shí)現(xiàn)。該過程400對(duì)于已修改的和遺留的HTTP 客戶端這兩者都增強(qiáng)客戶端平臺(tái)信息的傳輸。用于經(jīng)由cookie或腳本(后者使用URL字 段或密碼字段或私有報(bào)頭字段)將客戶端平臺(tái)信息傳遞給遺留HTTP客戶端的步驟被包括。 在一些包括所述步驟的實(shí)施例中,與修改URL相關(guān)的步驟被省略。在所示的僅使用URL的 實(shí)施例中,與cookie、密碼和私有報(bào)頭字段有關(guān)的步驟被省略。在步驟401中,接收到至少將被發(fā)送到遺留HTTP客戶端的腳本。任意方法可以被 用于接收所述腳本,例如以上針對(duì)子集定義所描述的。各種腳本可以被使用,包括用于將 客戶端平臺(tái)信息插入到密碼或私有報(bào)頭字段或URL中的腳本。在所示的實(shí)施例中,在步驟 401中接收到比較腳本,如下面詳細(xì)描述的那樣,所述比較腳本用于將用戶代理數(shù)據(jù)與被從 服務(wù)器發(fā)送到遺留客戶端的客戶端平臺(tái)信息字段進(jìn)行比較并更新該客戶端平臺(tái)信息字段。在步驟403中,接收到HTTP請(qǐng)求消息(例如消息250)。在步驟405中,確定URL 字段(例如字段260)是否被格式化為無格式URL(例如不具有類型和客戶端平臺(tái)信息字 段)。如果是這樣,則該請(qǐng)求不是來自使用URL字段260來傳送客戶端平臺(tái)信息的已修改 HTTP客戶端,以及控制轉(zhuǎn)到步驟407。在步驟407中,確定用戶代理字段(例如字段270)是否出現(xiàn)(并且不能檢測(cè)到被更改)。如果是這樣,則依賴于用戶代理字段中的信息;以及在步驟409中,HTTP有效載荷 的內(nèi)容被基于用戶代理字段中的信息(直接或借助于索引間接地)而針對(duì)HTTP客戶端進(jìn) 行格式化。例如,文本和圖像被針對(duì)由用戶代理字段中的數(shù)據(jù)指示的移動(dòng)電話的小型顯示 屏幕而進(jìn)行重排。因?yàn)榫W(wǎng)絡(luò)運(yùn)營(yíng)商看來不干預(yù)用戶代理字段,所以內(nèi)容中的任何鏈接被格 式化為無格式URL。在步驟411中,具有鏈接URL的HTTP響應(yīng)消息被發(fā)送到客戶端,其中,所述鏈接 URL是不具有客戶端平臺(tái)信息的無格式URL。在步驟413中,確定服務(wù)器側(cè)過程是否被完 成,所述完成例如是因?yàn)榉?wù)正變?yōu)殡x線或服務(wù)器的該實(shí)例在特定持續(xù)時(shí)間內(nèi)還未接收到 任何HTTP請(qǐng)求消息。如果未被完成,則控制轉(zhuǎn)回步驟403,以便接收下一個(gè)HTTP請(qǐng)求消息。 否則,過程結(jié)束。如果在步驟407中確定用戶代理字段缺失或可檢測(cè)到被更改,則在步驟415中確 定密碼或私有報(bào)頭或cookie字段是否攜帶客戶端平臺(tái)信息。如果是這樣,則在步驟417中, HTTP有效載荷的內(nèi)容被基于密碼或私有報(bào)頭或cookie字段中的信息(直接或借助于索引 間接地)針對(duì)HTTP客戶端進(jìn)行格式化。因?yàn)榭蛻舳宋词褂肬RL來傳送客戶端平臺(tái)信息,所 以內(nèi)容中的任何鏈接被格式化為無格式URL。內(nèi)容包括任意這樣的腳本,所述腳本將發(fā)送到 遺留HTTP客戶端,以導(dǎo)致那些客戶端使用對(duì)應(yīng)的密碼或私有報(bào)頭或cookie字段來傳送用 于用戶代理字段的客戶端平臺(tái)信息的至少一個(gè)子集??刂迫缓筠D(zhuǎn)到步驟411,以及隨后,如 以上描述的那樣,發(fā)送HTTP響應(yīng)消息和接收下一個(gè)HTTP請(qǐng)求消息。在所示的使用URL來 傳送客戶端平臺(tái)信息的實(shí)施例中,步驟415和417被省略。在一些使用密碼或私有報(bào)頭或cookie來傳送客戶端平臺(tái)信息的實(shí)施例中,步驟 415包括如果初始HTTP請(qǐng)求不包括攜帶客戶端平臺(tái)信息的密碼或私有報(bào)頭或cookie字 段,則向HTTP客戶端發(fā)送HTTP響應(yīng)。在此情況下,假設(shè)HTTP客戶端是遺留的HTTP客戶端, 以及HTTP響應(yīng)包括一組cookie或腳本,所述cookie或腳本導(dǎo)致遺留HTTP客戶端將期望 的客戶端平臺(tái)信息插入到對(duì)應(yīng)的密碼或私有報(bào)頭或cookie字段中。來自客戶端的第二個(gè) 請(qǐng)求然后應(yīng)當(dāng)將期望的客戶端平臺(tái)信息包括在對(duì)應(yīng)字段中。已修改的HTTP客戶端將已經(jīng) 自動(dòng)在對(duì)應(yīng)字段中發(fā)送了期望的客戶端平臺(tái)信息。如果在步驟415中確定密碼或私有報(bào)頭或cookie字段都沒有攜帶客戶端平臺(tái)信 息,或者如果步驟415被省略,則在步驟421中,作出從第三方請(qǐng)求客戶端平臺(tái)信息的嘗試。 許多剝?nèi)セ蚋挠脩舸碜侄蔚木W(wǎng)絡(luò)運(yùn)營(yíng)商提供用于提供初始用戶代理信息的第三方服 務(wù)。使用該服務(wù)增加延遲和網(wǎng)絡(luò)資源的消耗,以及對(duì)于由客戶端發(fā)出的每個(gè)HTTP請(qǐng)求是不 可取的。例如,HTTP客戶端被重定向到第三方服務(wù),其中,該第三方服務(wù)將來自初始用戶代 理字段的數(shù)據(jù)添加到不同字段或新的用戶代理字段中,以及然后HTTP客戶端被重定向回 執(zhí)行過程400的服務(wù)器,這增加兩個(gè)重定向響應(yīng)消息和兩個(gè)請(qǐng)求。然而,在一些實(shí)施例中, 對(duì)于從遺留HTTP客戶端接收的第一個(gè)HTTP請(qǐng)求消息,第三方服務(wù)在步驟421期間被調(diào)用。在一些實(shí)施例中,步驟421包括,取代或除將客戶端重定向到第三方服務(wù)之外,還 將客戶端重定向到使用HTTPS協(xié)議的安全HTTP服務(wù)器。HTTPS對(duì)一些字段進(jìn)行加密。網(wǎng) 絡(luò)運(yùn)營(yíng)商并不改變HTTPS消息的報(bào)頭字段,以及由此,用戶代理字段無修改地到達(dá)HTTPS服 務(wù)。該服務(wù)可以將客戶端平臺(tái)信息添加到cookie、密碼字段、私有字段或URL中,以及然后 將客戶端重定向回例如服務(wù)IlOa的初始服務(wù)。被重定向的HTTP請(qǐng)求現(xiàn)在在對(duì)應(yīng)字段中包括所期望的客戶端平臺(tái)信息。該步驟提供這樣的優(yōu)勢(shì)即使第三方服務(wù)不可用時(shí),也可以使 方法步驟運(yùn)轉(zhuǎn)。其不需要兩個(gè)例如第三方服務(wù)的附加重定向。在步驟423中,確定客戶端平臺(tái)信息是否被從第三方服務(wù)或HTTPS服務(wù)接收到。如 果不是這樣,則在步驟425中,內(nèi)容被基于最小客戶端能力進(jìn)行格式化,以便確保其可以在 任意移動(dòng)設(shè)備中被呈現(xiàn)。在一些實(shí)施例中,步驟425包括任意用于導(dǎo)致遺留HTTP客戶端更 新最小所假設(shè)客戶端平臺(tái)信息的腳本。在使用URL來傳送所期望客戶端平臺(tái)信息的實(shí)施例 中,任意鏈接URL被寫為具有客戶端平臺(tái)的所假設(shè)值的類型B (退避)URL。在步驟427中,具有包括服務(wù)器發(fā)起的客戶端平臺(tái)信息字段的類型B (退避)URL、 以及具有可選的用于比較和更新服務(wù)器發(fā)起的客戶端平臺(tái)信息的比較腳本的HTTP響應(yīng)消 息,被發(fā)送到客戶端。通過執(zhí)行比較腳本,HTTP客戶端進(jìn)程被認(rèn)為初始未將客戶端平臺(tái)信 息字段插入到初始HTTP請(qǐng)求消息的URL中。此處所使用的服務(wù)器發(fā)起的客戶端平臺(tái)信息 包括所假設(shè)的平臺(tái)值、從第三方或HTTPS服務(wù)返回的值以及從執(zhí)行服務(wù)器所提供的腳本的 遺留HTTP客戶端返回的值,其中,所述服務(wù)器所提供的腳本例如是步驟427中指示的比較 腳本。然后控制轉(zhuǎn)到步驟413,以及隨后是如以上所描述的。如果在步驟423中確定,客戶端平臺(tái)信息被從第三方服務(wù)或從HTTPS服務(wù)接收到, 則在步驟429中,內(nèi)容被基于所接收的用戶代理數(shù)據(jù)進(jìn)行格式化。在一些實(shí)施例中,步驟 429包括任意用于導(dǎo)致遺留HTTP客戶端更新所接收的客戶端平臺(tái)信息的腳本。在使用URL 來傳送所期望的客戶端平臺(tái)信息的實(shí)施例中,任意鏈接URL被寫成具有第三方所提供的客 戶端平臺(tái)信息的類型B (退避)URL??刂妻D(zhuǎn)到步驟427,以及隨后是如以上所描述的。如果在步驟405中確定HTTP請(qǐng)求消息不具有無格式URL,例如具有類型A URL或 類型B URL,則URL被用于傳送客戶端平臺(tái)信息,以及該請(qǐng)求是由具有客戶端側(cè)客戶端平臺(tái) 信息傳輸進(jìn)程142的已修改HTTP客戶端發(fā)送的,或是由跟隨在由服務(wù)器側(cè)客戶端平臺(tái)信息 傳輸進(jìn)程140產(chǎn)生的鏈接URL之后的遺留HTTP客戶端發(fā)送的(例如在步驟427中)。在步驟431中,HTTP有效載荷的內(nèi)容被直接或借助于索引間接地基于URL字段 260的客戶端平臺(tái)信息字段中的信息,針對(duì)HTTP客戶端進(jìn)行格式化。例如,文本和圖像被針 對(duì)移動(dòng)電話的小顯示屏幕進(jìn)行重排,其中,所述移動(dòng)電話的小顯示屏幕由URL字段的參數(shù) 字段220的客戶端平臺(tái)信息字段224中的數(shù)據(jù)指示。在步驟433中,確定類型字段是否指示退避值(類型B)。如果是這樣,則任意鏈接 URL被寫成類型B URL。具有退避類型URL和可選的比較腳本的HTTP響應(yīng)消息在步驟427 中被發(fā)送,以及隨后是如以上所描述的。如果在步驟433中確定類型字段指示主用值(類型A),則因?yàn)橐研薷腍TTP客戶端 不依賴于從服務(wù)器接收的客戶端平臺(tái)屬性,所以任意鏈接URL被寫成無格式URL。也可以寫 類型A或類型B URL,但這些類型被已修改HTTP客戶端忽略,以及減少用于指示URL的字符 的數(shù)量是有利的。在步驟413中,如上面描述的那樣,確定服務(wù)器進(jìn)程是否已完成。圖5A直到圖5C是示出根據(jù)不同實(shí)施例、客戶端和服務(wù)器怎樣處理可攜帶客戶端 平臺(tái)信息的統(tǒng)一資源定位符(URL)的圖。圖5A示出了作為遺留HTTP客戶端的示例的遺留 瀏覽器510。當(dāng)遺留瀏覽器510被運(yùn)轉(zhuǎn)以請(qǐng)求任何鏈接URL 512時(shí),遺留瀏覽器510形成被 無改變地定向到相同URL的HTTP請(qǐng)求消息514。例如,選擇類型A的鏈接URL 512a導(dǎo)致遺 留瀏覽器510發(fā)送被定向到類型A URL的HTTP請(qǐng)求消息5Ha。類似地,選擇類型B的鏈接URL 512b導(dǎo)致遺留瀏覽器510發(fā)送被定向到類型BURL的HTTP請(qǐng)求消息514b ;以及,選 擇無格式的鏈接URL 512c導(dǎo)致遺留瀏覽器510發(fā)送被定向到無格式URL的HTTP請(qǐng)求消息 514c。圖5B示出了作為具有客戶端側(cè)客戶端平臺(tái)信息傳輸進(jìn)程142的已修改HTTP客 戶端的示例的新瀏覽器530。當(dāng)新瀏覽器530被運(yùn)轉(zhuǎn)以請(qǐng)求任何鏈接URL 532時(shí),新瀏覽 器530在每種情況下都形成被定向到類型AURL的HTTP請(qǐng)求消息534。例如,選擇類型A 的鏈接URL 53 導(dǎo)致新瀏覽器530發(fā)送被定向到類型A URL的HTTP請(qǐng)求消息53如。然 而,選擇類型B的鏈接URL 532b導(dǎo)致新瀏覽器530發(fā)送被定向到類型A URL的HTTP請(qǐng)求 消息534b;以及,選擇無格式的鏈接URL 532c導(dǎo)致新瀏覽器530發(fā)送被定向到類型A URL 的HTTP請(qǐng)求消息53如。在每種情況下,被插入到URL中的客戶端平臺(tái)信息都是由新瀏覽器 530確定的。如果所選的URL是類型A或類型B,并且包含與所涉及的新瀏覽器不一致的客 戶端平臺(tái)信息,則其將在被發(fā)送到服務(wù)器的最終重寫的類型A URL中被替換為正確信息。服務(wù)器接收到被定向到其URL域的HTTP請(qǐng)求消息,并且返回具有零個(gè)或更多鏈接 URL的響應(yīng)。圖5C示出了作為具有服務(wù)器側(cè)客戶端平臺(tái)信息傳輸進(jìn)程140的HTTP服務(wù)器 的示例的服務(wù)器陽0。當(dāng)服務(wù)器550被運(yùn)轉(zhuǎn)以接收被定向到其URL域的HTTP請(qǐng)求消息552 時(shí),服務(wù)器550形成具有零個(gè)或更多鏈接URL 5M的HTTP響應(yīng)消息。例如,當(dāng)服務(wù)器550被 運(yùn)轉(zhuǎn)以接收被定向到其URL域的具有類型A URL的HTTP請(qǐng)求消息55 時(shí),服務(wù)器550形成 具有無格式鏈接URL 55 的HTTP響應(yīng)消息。當(dāng)服務(wù)器550被運(yùn)轉(zhuǎn)以接收被定向到其URL 域的具有類型B URL的HTTP請(qǐng)求消息552b時(shí),服務(wù)器550形成具有類型B鏈接URL 554b 的HTTP響應(yīng)消息。當(dāng)服務(wù)器550被運(yùn)轉(zhuǎn)以接收被定向到其無格式URL域的HTTP請(qǐng)求消息 552c時(shí),如果其可以推斷任何關(guān)于客戶端平臺(tái)信息的信息,則服務(wù)器550形成具有類型B鏈 接URL 55 的HTTP響應(yīng)消息。否則,服務(wù)器550不返回內(nèi)容,這由跟隨在串“類型B”之后 的字符“/_”指示。圖6A直到圖6B是根據(jù)不同實(shí)施例的、為傳輸用戶代理字段外的客戶端平臺(tái)信息 而被交換的消息的時(shí)序圖。在時(shí)序圖中,時(shí)間向下增長(zhǎng),網(wǎng)絡(luò)上的進(jìn)程由豎線指示。進(jìn)程之 間的消息由從發(fā)送進(jìn)程指向接收進(jìn)程的箭頭指示。箭頭的豎向位置指示相對(duì)于其它消息, 消息被發(fā)送的時(shí)間。由一個(gè)進(jìn)程在有限時(shí)間內(nèi)實(shí)施的步驟由豎向上延續(xù)了步驟的持續(xù)時(shí)間 長(zhǎng)度的矩形或彎曲箭頭代表。時(shí)間未被畫成特定比例。圖6A中的過程示出了一個(gè)或更多URL源602 (例如任意、若干或全部的用戶、文檔 或文件或者基于來自服務(wù)器的HTTP響應(yīng)的web頁面或窗口小部件,其中,所述服務(wù)器例如 是服務(wù)IlOa或遺留服務(wù))。還示出了已修改的HTTP客戶端604,所述已修改的HTTP客戶 端604例如是具有客戶端側(cè)客戶端平臺(tái)信息傳輸進(jìn)程142的瀏覽器107。還示出了 HTTP服 務(wù)器606,所述HTTP服務(wù)器606例如是具有服務(wù)器側(cè)客戶端平臺(tái)信息傳輸進(jìn)程140的相同 服務(wù)IlOa或不同服務(wù)110b。在消息610中,已修改的HTTP客戶端604接收具有一個(gè)或更多鏈接URL的數(shù)據(jù)。 在步驟612中,用戶選擇具有無格式URL的鏈接,其中,所述無格式URL指示HTTP服務(wù)器 606的域。作為響應(yīng),已修改HTTP客戶端604發(fā)送被定向到具有用于客戶端604的客戶端 平臺(tái)信息的類型A (主用)URL的HTTP請(qǐng)求消息614。作為響應(yīng),HTTP服務(wù)器返回HTTP響 應(yīng)消息616,其中,所述HTTP響應(yīng)消息616具有僅無格式的鏈接以及被針對(duì)已修改HTTP客戶端604的客戶端平臺(tái)進(jìn)行調(diào)整的內(nèi)容。在步驟622中,用戶選擇這樣的鏈接,所述鏈接具有指示HTTP服務(wù)器606的域的 主用(類型A)URL和用于可能不同的已修改HTTP客戶端的客戶端平臺(tái)信息。如上面那樣, 作為響應(yīng),已修改HTTP客戶端604發(fā)送被定向到具有用于客戶端604的客戶端平臺(tái)信息的 類型A (主用)URL的HTTP請(qǐng)求消息624。作為響應(yīng),HTTP服務(wù)器返回HTTP響應(yīng)消息626, 其中,所述HTTP響應(yīng)消息6 具有僅無格式的鏈接和被針對(duì)已修改HTTP客戶端604的客 戶端平臺(tái)進(jìn)行調(diào)整的內(nèi)容。在步驟632中,用戶選擇這樣的鏈接,所述鏈接具有指示HTTP服務(wù)器606的域的 退避(類型B)URL以及用于可能不同的遺留HTTP客戶端的客戶端平臺(tái)信息。如上面那樣, 作為響應(yīng),已修改HTTP客戶端604發(fā)送被定向到具有用于客戶端604的客戶端平臺(tái)信息的 類型A (主用)URL的HTTP請(qǐng)求消息634。作為響應(yīng),HTTP服務(wù)器返回HTTP響應(yīng)消息636, 其中,所述HTTP響應(yīng)消息636具有僅無格式的URL和被針對(duì)已修改HTTP客戶端604的客 戶端平臺(tái)進(jìn)行調(diào)整的內(nèi)容。由此,對(duì)于三種類型的URL,已修改HTTP客戶端都將URL重寫到具有其自身的客戶 端平臺(tái)信息的正確的類型A URL,并且將該URL在HTTP請(qǐng)求消息中發(fā)送到服務(wù)器。服務(wù)器 返回根據(jù)已編碼在類型A URL中的平臺(tái)信息而針對(duì)已修改HTTP客戶端進(jìn)行優(yōu)化了的內(nèi)容。 去往內(nèi)容中其它頁面的鏈接是無格式的URL。該實(shí)施例的優(yōu)勢(shì)在于性能優(yōu)異——不存在任 何用于解析用戶代理報(bào)頭的第三方服務(wù),以及HTTP客戶端與HTTP服務(wù)器之間不存在任何 額外的往返。服務(wù)器總是可以返回對(duì)于客戶端最優(yōu)的內(nèi)容。在圖6B中的過程示出了一個(gè)或更多URL源602以及HTTP服務(wù)器606 (如以上所 描述的)。還示出了遺留HTTP客戶端608,所述遺留HTTP客戶端608例如是不具有客戶端 側(cè)客戶端平臺(tái)信息傳輸進(jìn)程142的瀏覽器。在消息640中,遺留HTTP客戶端608接收具有一個(gè)或更多鏈接URL的數(shù)據(jù)。在步 驟642中,用戶選擇具有指示HTTP服務(wù)器606的域的無格式URL的鏈接。作為響應(yīng),遺留 HTTP客戶端608發(fā)送被定向到不具有任何用于客戶端604的客戶端平臺(tái)信息的無格式URL 的HTTP請(qǐng)求消息644。作為響應(yīng),HTTP服務(wù)器返回僅僅帶有HTTP響應(yīng)消息646,所述HTTP 響應(yīng)消息646具有僅具有基于服務(wù)器的最佳估計(jì)(例如最小能力或第三方信息)的客戶 端平臺(tái)信息的退避(類型B)鏈接,以及被針對(duì)所述估計(jì)的客戶端平臺(tái)進(jìn)行調(diào)整的內(nèi)容。在 一些實(shí)施例中,響應(yīng)消息646僅指示沒有任何對(duì)客戶端平臺(tái)值的合理估計(jì)可用,以及服務(wù) 不能被提供。在一些實(shí)施例中,響應(yīng)消息646包括腳本,所述腳本確定腳本引擎是否可用于運(yùn) 行比較腳本。例如,腳本確定Javascript引擎是否可用于運(yùn)行Javescript比較腳本。如 果不是這樣,則消息指示用戶應(yīng)當(dāng)安裝腳本引擎以獲取該站點(diǎn)處的更好服務(wù)。如果是這樣, 則在步驟648中,比較腳本被運(yùn)行,以便將服務(wù)器提供的所估計(jì)客戶端平臺(tái)值與客戶端至 少通過確定用戶代理的內(nèi)容而知道的那些進(jìn)行比較。用于將遺留客戶端重定向到已糾正的 類型B URL的示例性Javescript如下。<html><head><script id = " checkUserAgent" language = “ javascript“ >
< !—function checkUserAgent (url){if (navigator. userAgent) {//check whether URL agrees with browser's user agent,if not,construct a new Type B URL according to both the URL and the user agentand redirect the browser to itvar newURL = buiIdNewURL(url, navigator. userAgent);if (newURL) {window, location = newURL ;}
}
}//—>〈/script〉</head><body>//normal content here.</body></html>在該腳本中,用戶代理數(shù)據(jù)在稱為navigator. userAgent的數(shù)據(jù)結(jié)構(gòu)中,以及從
HTTP報(bào)頭提取的URL在數(shù)據(jù)結(jié)構(gòu)url中。函數(shù)buildNewURL將url中的值與navigator. userAgent中的對(duì)應(yīng)值進(jìn)行比較。如果其一致,則newURL的值為null。如果不是這樣,則 newURL的值是已修訂的類型BURL,以及客戶端被通過命令window, location = newURL重 定向到newURL。用于實(shí)現(xiàn)buildNewURL的語句可以由本領(lǐng)域的技術(shù)人員確定。隨后對(duì)HTTP 響應(yīng)646中的鏈接的選擇將是具有已基于腳本進(jìn)行更新的客戶端平臺(tái)信息的類型B URL, 所述類型已更新的客戶端平臺(tái)信息更適于實(shí)際客戶端平臺(tái)。由此,當(dāng)用戶在遺留瀏覽器中選擇或輸入無格式的URL時(shí),瀏覽器就將URL按原樣 發(fā)送給服務(wù)器。如果HTTP報(bào)頭中不存在任何用戶代理,則服務(wù)器不能返回被針對(duì)URL進(jìn)行 了優(yōu)化的內(nèi)容。服務(wù)器可以嘗試從第三方服務(wù)或使用比較腳本來解析用戶代理報(bào)頭。如果 前一種方法成功,則服務(wù)器返回與從第三方服務(wù)取回的用戶代理報(bào)頭一致的內(nèi)容。去往內(nèi) 容中的其它頁面的鏈接是具有相同客戶端平臺(tái)信息的類型B URL的格式。如果用戶代理報(bào) 頭不能被解析并且比較腳本不能被執(zhí)行,則服務(wù)器可以選擇或者針對(duì)最小瀏覽器配置來提 供內(nèi)容,或者顯示沒有任何進(jìn)一步繼續(xù)的信息提示頁面。當(dāng)用戶選擇所返回內(nèi)容中的類型B URL中的任一個(gè)時(shí),遺留瀏覽器將其按原樣發(fā) 送給服務(wù)器。盡管當(dāng)請(qǐng)求到達(dá)服務(wù)器時(shí)用戶代理報(bào)頭仍然是缺失的,但服務(wù)器不再嘗試從 第三方服務(wù)來對(duì)其進(jìn)行解析。相反,服務(wù)器依賴于已編碼在類型B URL中的設(shè)備信息來生 成針對(duì)客戶端進(jìn)行了優(yōu)化的內(nèi)容。由于用戶代理解析,用戶仍然體驗(yàn)到較長(zhǎng)等待時(shí)間,但這 僅是在服務(wù)的第一個(gè)頁面中。這提供了優(yōu)于現(xiàn)有技術(shù)方法的優(yōu)勢(shì),其中,所述現(xiàn)有技術(shù)方法 在服務(wù)器的每個(gè)頁面上都體驗(yàn)到所述等待時(shí)間。
在步驟652中,用戶選擇具有指示HTTP服務(wù)器606的域的主用類型(類型A)URL 的鏈接。作為響應(yīng),遺留HTTP客戶端608發(fā)送被定向到具有用于提供該鏈接的任何客戶 端而非遺留客戶端608的客戶端平臺(tái)信息的類型A URL的HTTP請(qǐng)求消息654。作為響應(yīng), HTTP服務(wù)器返回具有僅無格式URL鏈接的HTTP響應(yīng)消息656,其中,所述無格式URL鏈接 不具有任何客戶端平臺(tái)信息。通常,用戶不輸入類型A URL,因?yàn)轭愋虯 URL對(duì)終端用戶是 透明的。雖然如此,例如在黑客攻擊或復(fù)制已修改客戶端的HTTP請(qǐng)求時(shí),這可以發(fā)生。遺 留瀏覽器將類型A URL按原樣發(fā)送給服務(wù)器。服務(wù)器返回跟隨已編碼在類型A URL中的設(shè) 備信息的內(nèi)容。顯而易見,該內(nèi)容可以采用不是針對(duì)遺留瀏覽器進(jìn)行了優(yōu)化的格式。然而, 到內(nèi)容中的其它頁面的鏈接采用無格式URL的格式。因此,當(dāng)用戶繼續(xù)瀏覽時(shí),用戶回到以 上描述的具有無格式URL的請(qǐng)求消息644,于是,服務(wù)器在下一個(gè)頁面中返回正確的內(nèi)容變 得可能。在步驟662中,用戶選擇具有指示HTTP服務(wù)器606的域的退避(類型B) URL的鏈 接。作為響應(yīng),遺留HTTP客戶端608發(fā)送被定向到類型B URL的HTTP請(qǐng)求消息664,所述 類型B URL具有用于任何提供該鏈接的客戶端(不必要是遺留客戶端608)的客戶端平臺(tái) 信息。作為響應(yīng),HTTP服務(wù)器返回具有僅退避(類型B)URL鏈接的HTTP響應(yīng)消息656。如 果用于已安裝引擎的比較腳本被包括,則如上面針對(duì)步驟648闡述的那樣,遺留客戶端在 步驟668中基于本地用戶代理和類型B URL來更新所選的退避URL。由此,當(dāng)用戶在遺留瀏 覽器中輸入類型B URL時(shí),瀏覽器將URL按原樣發(fā)送給服務(wù)器。服務(wù)器返回遵循已編碼在 類型B URL中的設(shè)備信息的內(nèi)容。去往內(nèi)容中的其它頁面的鏈接也是類型B URL。有可能 已編碼在URL中的設(shè)備信息與遺留瀏覽器的實(shí)際配置不一致。比較腳本提供對(duì)此的補(bǔ)救。 最終,遺留瀏覽器將被逐步淘汰,以及該情況在重要性上將降低。此處描述的用于確保用戶代理信息的傳輸?shù)倪^程可以有利地經(jīng)由軟件、硬件(例 如通用處理器、數(shù)字信號(hào)處理(DSP)芯片、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA) 等)、固件或其組合來實(shí)現(xiàn)。用于實(shí)施所描述的功能的所述示例性硬件在下面詳述。圖7示出了計(jì)算機(jī)系統(tǒng)700,其中,本發(fā)明的一個(gè)實(shí)施例可以在計(jì)算機(jī)系統(tǒng)700上 實(shí)現(xiàn)。盡管相對(duì)于特定設(shè)備或裝備示出了計(jì)算機(jī)系統(tǒng)700,但是可設(shè)想圖7中的其它設(shè)備 或裝備(例如網(wǎng)絡(luò)單元、服務(wù)器等)可以部署所示的系統(tǒng)700的硬件和部件。計(jì)算機(jī)系統(tǒng) 700被編程(例如經(jīng)由計(jì)算機(jī)程序代碼或指令),以便像此處描述的那樣確保向服務(wù)提供商 的用戶代理信息的傳輸,并包括通信機(jī)制,例如用于在計(jì)算機(jī)系統(tǒng)700的其它內(nèi)部和外部 部件之間傳遞信息的總線710。信息(也稱為數(shù)據(jù))被表示為可測(cè)量現(xiàn)象的物理表述,其 中,所述可測(cè)量現(xiàn)象通常為電壓、但在其它實(shí)施例中包括例如磁、電磁、壓力、化學(xué)、生物學(xué)、 分子、原子、亞原子和量子相互作用的現(xiàn)象。例如,北極和南極磁場(chǎng)或者零和非零電壓表示 二進(jìn)制數(shù)位(位)的兩個(gè)狀態(tài)(0,1)。其它現(xiàn)象可以表示更高基數(shù)的數(shù)位。測(cè)量前的多個(gè) 同時(shí)的量子狀態(tài)的迭加表示量子位(qubit)。一個(gè)或更多數(shù)位的序列構(gòu)成被用于表示數(shù)字 或字符代碼的數(shù)字?jǐn)?shù)據(jù)。在一些實(shí)施例中,被稱為模擬數(shù)據(jù)的信息通過在特定范圍內(nèi)可測(cè) 量值的連續(xù)統(tǒng)(continuum)來表示。計(jì)算機(jī)系統(tǒng)700或其一部分構(gòu)成這樣的裝置,所述裝 置用于實(shí)施確保對(duì)服務(wù)提供商的用戶代理信息傳輸?shù)囊粋€(gè)或更多步驟??偩€710包括一個(gè)或多個(gè)并行的信息導(dǎo)線,從而信息被快速地在耦合到總線710 的設(shè)備間傳輸。用于處理信息的一個(gè)或更多處理器702與總線710耦合。
處理器702對(duì)信息實(shí)施由與確保向服務(wù)提供商的用戶代理信息傳輸相關(guān)的計(jì)算 機(jī)程序代碼指定的操作集合。所述計(jì)算機(jī)程序代碼是指令或提供指令的語句的集合,用于 處理器和/或計(jì)算機(jī)系統(tǒng)的運(yùn)行,以便實(shí)施指定的功能。所述代碼例如可以用被編譯成處 理器的固有指令集的計(jì)算機(jī)編程語言來書寫。所述代碼還可以直接使用固有指令集(例如 機(jī)器語言)來書寫。所述操作集合包括從總線710引入信息,以及將信息置于總線710上。 所述操作集合通常還包括,例如通過加法或乘法或例如或、異或O(OR)和與的邏輯運(yùn)算,來 將兩個(gè)或更多信息單元進(jìn)行比較、轉(zhuǎn)移信息單元的位置以及合并兩個(gè)或更多信息單元???以由處理器實(shí)施的所述操作集合中的每個(gè)操作,都通過被稱為指令(例如是一個(gè)或多個(gè)數(shù) 位的操作代碼)的信息表示給處理器。將由處理器702執(zhí)行的操作序列(例如操作代碼序 列)構(gòu)成處理器指令,該處理器指令也被稱為計(jì)算機(jī)系統(tǒng)指令,或簡(jiǎn)單地稱為計(jì)算機(jī)指令。 處理器可以被單獨(dú)或組合地實(shí)現(xiàn)為機(jī)械、電氣、磁、光、化學(xué)或量子部件等。在某些上述實(shí)施例中,通過如以上所述的在已修改HTTP客戶端處的URL重寫,在 客戶端側(cè)解決了鏈接轉(zhuǎn)發(fā)/共享問題和開始階段問題。這涉及對(duì)客戶端軟件的某種擴(kuò)展, 例如用于Firefox瀏覽器的Firefox附加軟件(Firefox Add-on)。通過這樣的擴(kuò)展,每當(dāng) 用戶從客戶端請(qǐng)求URL時(shí),擴(kuò)展首先檢查URL是否與客戶端的配置一致。如果不是這樣,則 擴(kuò)展將URL轉(zhuǎn)換為類型A格式,所述類型A格式中已編碼了客戶端配置。例如,當(dāng)用戶在 N95設(shè)備上的新瀏覽器中輸入U(xiǎn)RL——某站點(diǎn)/路徑時(shí),在將URL向外發(fā)送到服務(wù)器之前, 將其轉(zhuǎn)換為某站點(diǎn)/路徑?類型=A&設(shè)備=N95。服務(wù)器用基于已編碼在URL中的設(shè)備信 息進(jìn)行了優(yōu)化的內(nèi)容,響應(yīng)對(duì)類型A URL的請(qǐng)求。然而,在所返回的內(nèi)容中,去往服務(wù)器的 所有其它鏈接不再采用類型A URL的格式,而是采用無格式URL,如某站點(diǎn)/路徑/子路徑。 因此,在瀏覽器地址字段、已保存的頁面書簽或頁面內(nèi)容中,端用戶通??床坏筋愋虯 URL0 URL在這些地方總是以無格式URL的格式出現(xiàn)。因此,在多數(shù)情況下,遠(yuǎn)程服務(wù)器可以信任 已編碼在類型A URL中的設(shè)備信息的合法性,并響應(yīng)以正確內(nèi)容。遺留瀏覽器將URL按其原樣發(fā)送給服務(wù)器。在沒有用戶代理字段的情況下,服務(wù) 器不能以優(yōu)化的內(nèi)容來響應(yīng)對(duì)無格式URL的HTTP請(qǐng)求。然而,一些運(yùn)營(yíng)商為服務(wù)器提供單 獨(dú)的服務(wù)來獲取已刪除的用戶代理字段。此類服務(wù)通常具有性能關(guān)聯(lián)因而不適用于所有請(qǐng) 求。在解析用戶代理之后,服務(wù)器將遺留瀏覽器重定向到新的類型B URL,例如某站點(diǎn)/路 徑?類型=B&設(shè)備=N95的。當(dāng)已重定向的對(duì)于類型B URL的請(qǐng)求再次到達(dá)服務(wù)器時(shí), 服務(wù)器用基于已編碼在類型B URL中的信息針對(duì)設(shè)備進(jìn)行了優(yōu)化的內(nèi)容來響應(yīng)。與類型A URL不同,針對(duì)類型B URL請(qǐng)求,服務(wù)器還在內(nèi)容中使用類型B URL用于到服務(wù)器的其它鏈 接,例如某站點(diǎn)/路徑/子路徑?類型=B&設(shè)備N95。因此,用戶可以在瀏覽器地址字段中 看到類型B URL、將類型B URL保存為書簽或在頁面內(nèi)容中找到類型B URL。服務(wù)器對(duì)三種類型的URL使用不同策略。對(duì)于類型A URL,服務(wù)器根據(jù)URL中的客 戶端平臺(tái)字段生成內(nèi)容,但內(nèi)容中的鏈接是無格式URL。對(duì)于類型B URL,服務(wù)器也根據(jù)URL 中的客戶端平臺(tái)字段生成內(nèi)容;但是,內(nèi)容中的鏈接也是類型B URL,而不是無格式URLt^i 于無格式URL,服務(wù)器嘗試從第三方服務(wù)或HTTPS服務(wù)或通過比較腳本,重構(gòu)用戶代理。但 是內(nèi)容中的鏈接還是類型B URL。如果用戶代理數(shù)據(jù)不能被解析,則服務(wù)器返回針對(duì)最小瀏 覽器配置的內(nèi)容,或者簡(jiǎn)單地返回信息提示頁面并不再繼續(xù)。計(jì)算機(jī)系統(tǒng)700還包括耦合到總線710的存儲(chǔ)器704。存儲(chǔ)器704 (例如隨機(jī)訪問存儲(chǔ)器(RAM)或其它動(dòng)態(tài)存儲(chǔ)設(shè)備)存儲(chǔ)包括用于確保到服務(wù)提供商的用戶代理信息傳輸 的處理器指令的信息。動(dòng)態(tài)存儲(chǔ)器允許其中所存儲(chǔ)的信息被計(jì)算機(jī)系統(tǒng)700改變。RAM允 許存儲(chǔ)在稱為存儲(chǔ)器地址的位置的信息單元獨(dú)立于相鄰地址處的信息地被存儲(chǔ)和檢索。存 儲(chǔ)器704還被處理器702用于存儲(chǔ)處理器指令執(zhí)行期間的臨時(shí)值。計(jì)算機(jī)系統(tǒng)700還包括 耦合到總線710的、用于存儲(chǔ)靜態(tài)信息的只讀存儲(chǔ)器(ROM) 706或其它靜態(tài)存儲(chǔ)設(shè)備,其中, 所述靜態(tài)信息包括不被計(jì)算機(jī)系統(tǒng)700改變的指令。一些存儲(chǔ)器由在斷電時(shí)丟失其上存儲(chǔ) 的信息的易失性存儲(chǔ)設(shè)備構(gòu)成。還耦合到總線710的有非易失性(持久)存儲(chǔ)設(shè)備708,例 如磁盤、光盤或閃存卡,所述非易失性存儲(chǔ)設(shè)備708用于存儲(chǔ)包括甚至當(dāng)計(jì)算機(jī)系統(tǒng)700被 關(guān)掉或斷電時(shí)也存留的指令的信息。包括用于確保到服務(wù)提供商的用戶代理信息傳輸?shù)闹噶畹男畔?,被從外部輸入設(shè) 備712提供給總線710以便處理器使用,其中,外部輸入設(shè)備712例如是包含用戶操作的字 母數(shù)字鍵的鍵區(qū)(keypad),或傳感器。傳感器檢測(cè)其附近的情況,并將那些檢測(cè)變換為與用 于在計(jì)算機(jī)系統(tǒng)700中表示信息的可測(cè)量現(xiàn)象兼容的物理表述。主要用于與人交互的、耦 合到總線710的其它外部設(shè)備包括用于呈現(xiàn)文本或圖像的顯示設(shè)備714,例如陰極射線管 (CRT)或液晶顯示器(IXD)或等離子屏幕或打印機(jī),以及用于控制呈現(xiàn)在顯示器714上的小 光標(biāo)圖像的位置、發(fā)出與呈現(xiàn)在顯示器714上的圖形單元關(guān)聯(lián)的命令的指示設(shè)備716,例如 鼠標(biāo),或軌跡球,或光標(biāo)方向鍵,或運(yùn)動(dòng)傳感器。在一些實(shí)施例中,例如,在計(jì)算機(jī)系統(tǒng)700 在沒有人輸入的情況下自動(dòng)實(shí)施所有功能的實(shí)施例中,外部輸入設(shè)備712、顯示設(shè)備714和 指示設(shè)備716中的一個(gè)或多個(gè)被省略。在所示的實(shí)施例中,例如專用集成電路(ASIC)720的專用硬件被耦合到總線710。 專用硬件被配置為,為特定目的而執(zhí)行處理器702不能足夠快的執(zhí)行的操作。專用IC的 示例包括用來生成用于顯示器714的圖像的圖形加速卡、用于對(duì)經(jīng)由網(wǎng)絡(luò)發(fā)送的消息進(jìn)行 加密和解密的密碼板、語音識(shí)別以及與特定外部設(shè)備的接口,例如機(jī)械臂和醫(yī)學(xué)掃描設(shè)備 (其重復(fù)執(zhí)行一些用硬件實(shí)現(xiàn)更為有效的復(fù)雜操作序列)。計(jì)算機(jī)系統(tǒng)700還包括一個(gè)或多個(gè)耦合到總線710的通信接口 770的實(shí)例。通 信接口 770提供耦合到多種外部設(shè)備的單向或雙向通信,所述外部設(shè)備使用其自己的處理 器來運(yùn)轉(zhuǎn),例如打印機(jī)、掃描器和外部磁盤。一般而言,所述耦合是通過使用連接到本地網(wǎng) 780的網(wǎng)絡(luò)鏈路778,其中,具有其自己的處理器的多種外部設(shè)備連接到本地網(wǎng)780。例如, 通信接口 770可以是個(gè)人計(jì)算機(jī)上的并行端口或串行端口或通用串行總線(USB)端口。在 一些實(shí)施例中,通信接口 770是提供到對(duì)應(yīng)類型的電話線路的信息通信連接的電話調(diào)制解 調(diào)器,或綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)卡,或數(shù)字訂戶線路(DSL)卡。在一些實(shí)施例中,通信接口 770是電纜調(diào)制解調(diào)器,其將總線710上的信號(hào)轉(zhuǎn)換為用于經(jīng)由同軸電纜的通信連接的信 號(hào),或轉(zhuǎn)換為用于經(jīng)由光纜的通信連接的光信號(hào)。作為另一示例,通信接口 770可以是提供 到兼容LAN(例如以太網(wǎng))的數(shù)據(jù)通信連接的局域網(wǎng)(LAN)卡。也可以實(shí)現(xiàn)無線鏈路。對(duì) 于無線鏈路,通信接口 770發(fā)送或接收或者發(fā)送并接收攜帶信息流(例如數(shù)字?jǐn)?shù)據(jù))的電、 聲或電磁信號(hào),包括紅外和/或光信號(hào)。例如,在無線手持設(shè)備中,例如像蜂窩電話的移動(dòng) 電話,通信接口 770包括稱為無線收發(fā)器的無線頻帶電磁發(fā)送器和接收器。在特定實(shí)施例 中,通信接口 770實(shí)現(xiàn)了到通信網(wǎng)絡(luò)105的連接,用來確保從UE 101到服務(wù)提供商的用戶 代理信息的傳輸。
此處所使用的術(shù)語“計(jì)算機(jī)可讀介質(zhì)”指包括用于執(zhí)行的指令的、參與向處理器 702提供信息的任何介質(zhì)。此類介質(zhì)可以采用多種形式,包括但不限于計(jì)算機(jī)可讀存儲(chǔ)介 質(zhì)(例如非易失性介質(zhì)、易失性介質(zhì))和傳輸介質(zhì)。諸如非易失性介質(zhì)的非暫時(shí)介質(zhì)包括, 例如光或磁盤,如存儲(chǔ)設(shè)備708。易失性介質(zhì)包括,例如動(dòng)態(tài)存儲(chǔ)器704。傳輸介質(zhì)包括,例 如同軸電纜、銅線、光纜以及在沒有電線或電纜的情況下穿過空間傳輸?shù)妮d波,例如聲波和 電磁波,包括無線電、光或紅外波。信號(hào)包括在振幅、頻率、相位、極性或通過傳輸介質(zhì)傳輸 的其它物理屬性上的人為瞬時(shí)變化。計(jì)算機(jī)可讀介質(zhì)的常見形式包括,例如軟盤、軟碟、硬 盤、磁帶、任意其它磁介質(zhì)、CD-ROM、CDRW、DVD、任意其它光介質(zhì)、打孔卡、紙帶、光標(biāo)記表、具 有孔圖樣或其它光可識(shí)別標(biāo)記的任意其它物理介質(zhì)、RAM、PROM、EPROM、FLASH-EPR0M、任意 其它存儲(chǔ)器芯片或卡帶、載波、或計(jì)算機(jī)可以從其讀取的任意其它介質(zhì)。此處使用的術(shù)語計(jì) 算機(jī)可讀存儲(chǔ)介質(zhì)指除傳輸介質(zhì)之外的任意計(jì)算機(jī)可讀介質(zhì)。已編碼在一個(gè)或更多真實(shí)介質(zhì)中的邏輯包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和專用硬件 (例如ASIC 720)中的處理器指令中的一個(gè)或這兩者。網(wǎng)絡(luò)鏈路778通常提供使用傳輸介質(zhì)通過一個(gè)或更多網(wǎng)絡(luò)到其它設(shè)備的信息通 信,其中,所述其它設(shè)備使用或處理所述信息。例如,網(wǎng)絡(luò)鏈路778可以提供通過本地網(wǎng)絡(luò) 780到宿主計(jì)算機(jī)782或到由互聯(lián)網(wǎng)服務(wù)提供商(ISP)運(yùn)行的設(shè)備784的連接。ISP設(shè)備 784通過現(xiàn)在通常被稱為互聯(lián)網(wǎng)790的公共全球分組交換通信網(wǎng)的網(wǎng)絡(luò),提供數(shù)據(jù)通信服務(wù)。連接到互聯(lián)網(wǎng)的被稱為服務(wù)器主機(jī)792的計(jì)算機(jī),作為宿主具有響應(yīng)于通過互聯(lián) 網(wǎng)接收到的信息而提供服務(wù)的進(jìn)程。例如,服務(wù)器主機(jī)792作為宿主具有這樣的進(jìn)程,所述 進(jìn)程提供代表用于在顯示器714上呈現(xiàn)的視頻數(shù)據(jù)的信息。設(shè)想系統(tǒng)700的部件可以以各 種不同的配置部署在其它計(jì)算機(jī)系統(tǒng)中,例如主機(jī)782和服務(wù)器792。本發(fā)明的至少一些實(shí)施例涉及將計(jì)算機(jī)系統(tǒng)700用于實(shí)現(xiàn)此處描述的技術(shù)的一 些或全部。根據(jù)本發(fā)明的一個(gè)實(shí)施例,那些技術(shù)由計(jì)算機(jī)系統(tǒng)700來執(zhí)行,以響應(yīng)于處理器 702執(zhí)行包含在存儲(chǔ)器704中的一個(gè)或更多個(gè)處理器指令的一個(gè)或更多序列。也被稱為計(jì) 算機(jī)指令、軟件和程序代碼的所述指令可以被從另一計(jì)算機(jī)可讀介質(zhì)(例如存儲(chǔ)設(shè)備708 或網(wǎng)絡(luò)鏈路778)讀入存儲(chǔ)器704。包含在存儲(chǔ)器704中的指令序列的執(zhí)行導(dǎo)致處理器702 實(shí)施此處描述的方法步驟的一個(gè)或更多步驟。在可替換實(shí)施例中,例如ASIC 720的硬件可 以取代或結(jié)合軟件以便實(shí)現(xiàn)本發(fā)明。由此,除非此處明確指出,否則本發(fā)明的實(shí)施例不限于 硬件和軟件的任意特定組合。通過通信接口 770經(jīng)由網(wǎng)絡(luò)鏈路778和其他網(wǎng)絡(luò)傳輸?shù)男盘?hào),其攜帶去往和來自 計(jì)算機(jī)系統(tǒng)700的信息。計(jì)算機(jī)系統(tǒng)700可以通過網(wǎng)絡(luò)鏈路778和通信接口 770經(jīng)由網(wǎng)絡(luò) 780,790等發(fā)送和接收包括程序代碼的信息。在使用互聯(lián)網(wǎng)790的示例中,服務(wù)器主機(jī)792 通過互聯(lián)網(wǎng)790、ISP設(shè)備784、本地網(wǎng)絡(luò)780和通信接口 770,發(fā)送由發(fā)送自計(jì)算機(jī)700的 消息所請(qǐng)求的用于特定應(yīng)用的程序代碼。所接收的代碼可以在其被接收時(shí)被處理器702執(zhí) 行,或者可以被存儲(chǔ)在存儲(chǔ)器704或存儲(chǔ)設(shè)備708或其它非易失性存儲(chǔ)中以便稍后執(zhí)行,或 者可以進(jìn)行這兩者。這樣,計(jì)算機(jī)系統(tǒng)700可以獲取采用載波上的信號(hào)這一形式的應(yīng)用程 序代碼。在將一個(gè)或更多個(gè)指令序列或數(shù)據(jù)或者這兩者攜帶到處理器702以便執(zhí)行時(shí),可涉及各種形式的計(jì)算機(jī)可讀介質(zhì)。例如,指令和數(shù)據(jù)可以初始被攜帶在例如主機(jī)782的遠(yuǎn) 程計(jì)算機(jī)的磁盤上。遠(yuǎn)程計(jì)算機(jī)將指令和數(shù)據(jù)加載到其動(dòng)態(tài)存儲(chǔ)器中,以及使用調(diào)制解調(diào) 器通過電話線路發(fā)送指令和數(shù)據(jù)。計(jì)算機(jī)系統(tǒng)700本地的調(diào)制解調(diào)器在電話線路上接收指 令和數(shù)據(jù),并且使用紅外發(fā)送器將指令和數(shù)據(jù)轉(zhuǎn)換為充當(dāng)網(wǎng)絡(luò)鏈路778的紅外載波上的信 號(hào)。充當(dāng)通信接口 770的紅外檢測(cè)器接收到被攜帶在紅外信號(hào)中的指令和數(shù)據(jù),并且將代 表指令和數(shù)據(jù)的信息放置到總線710上??偩€710將信息攜帶到存儲(chǔ)器704,其中,處理器 702從存儲(chǔ)器704檢索并使用與指令一起發(fā)送的數(shù)據(jù)中的一部分來執(zhí)行指令。在704中接 收到的指令和數(shù)據(jù)可選地可以在被處理器702執(zhí)行之前或之后,存儲(chǔ)在存儲(chǔ)設(shè)備708中。圖8示出了本發(fā)明的實(shí)施例可以在其上被實(shí)現(xiàn)的芯片組800。芯片組800被編程, 以便如此處所描述的那樣保證到服務(wù)提供商的用戶代理信息的傳輸,以及包括例如被并入 一個(gè)或更多物理包(例如芯片)的關(guān)于圖7所描述的處理器和存儲(chǔ)器部件。作為示例,物 理包包括一個(gè)或更多材料、部件和/或電線在結(jié)構(gòu)套件(例如基線板)上的布置,用以提供 例如物理強(qiáng)度、尺寸保持和/或電氣相互作用限制等一個(gè)或多個(gè)特性。設(shè)想在特定實(shí)施例 中,所述芯片組可以實(shí)現(xiàn)在單個(gè)芯片中。芯片組800或其一部分構(gòu)成用于執(zhí)行確保大盤服 務(wù)提供商的用戶代理信息的傳輸?shù)囊粋€(gè)或更多步驟的裝置。在一個(gè)實(shí)施例中,芯片組800包括用于在芯片組800的部件之間傳遞信息的通信 機(jī)制,例如總線801。處理器803具有到總線801的連接,以便執(zhí)行存儲(chǔ)在例如存儲(chǔ)器805 中的指令和處理存儲(chǔ)在其中的信息。處理器803可以包括一個(gè)或更多處理核心,其中,每個(gè) 核心都被配置為獨(dú)立地執(zhí)行。多核處理器實(shí)現(xiàn)了單個(gè)物理包中的多處理。多核處理器的示 例包括兩個(gè)、四個(gè)、八個(gè)或更多數(shù)量的處理核心??商鎿Q地或除此之外,處理器803可以包 括一個(gè)或更多微處理器,所述微處理器被配置為,一前一后地經(jīng)由總線801來實(shí)現(xiàn)指令、流 水線操作和多線程的獨(dú)立執(zhí)行。處理器803可以還附帶一個(gè)或更多用于實(shí)施特定處理功能 和任務(wù)的專用部件,例如一個(gè)或更多數(shù)字信號(hào)處理器(DSP) 807,或者一個(gè)或更多專用集成 電路(ASIC)809。DSP 807通常被配置為獨(dú)立于處理器803實(shí)時(shí)地處理現(xiàn)實(shí)世界信號(hào)(例如 聲音)。類似地,ASIC 809可以被配置為實(shí)施不容易被通用處理器實(shí)施的專用功能。用于 輔助實(shí)施此處描述的獨(dú)創(chuàng)功能的其它專用部件包括一個(gè)或更多現(xiàn)場(chǎng)可編程門陣列(FPGA) (未示出)、一個(gè)或更多控制器(未示出)或者一個(gè)或更多其它專用計(jì)算機(jī)芯片。處理器803和附帶部件具有經(jīng)由總線801到存儲(chǔ)器805的連接。存儲(chǔ)器805包 括用于存儲(chǔ)可執(zhí)行指令的動(dòng)態(tài)存儲(chǔ)器(例如RAM、磁盤、可寫光盤等)和靜態(tài)存儲(chǔ)器(例如 R0M、CD-R0M等)這兩者,其中,所述可執(zhí)行指令當(dāng)被執(zhí)行時(shí)實(shí)施此處描述的發(fā)明步驟,以便 確保到服務(wù)提供商的用戶代理信息的傳輸。存儲(chǔ)器805還存儲(chǔ)關(guān)聯(lián)于或由所述發(fā)明步驟的 執(zhí)行所生成的數(shù)據(jù)。圖9是根據(jù)一個(gè)實(shí)施例的、能夠在圖1的系統(tǒng)中運(yùn)行的、用于通信的移動(dòng)終端(例 如手機(jī))的示例性部件的圖。在一些實(shí)施例中,移動(dòng)終端900或其一部分構(gòu)成這樣的裝置, 所述裝置用于實(shí)施確保到服務(wù)提供商的用戶代理信息的傳輸?shù)囊粋€(gè)或更多步驟。一般而 言,無線電接收器通常按照前端和后端特征來定義。接收器的前端包含全部射頻(RF)電 路,而后端包含全部基帶處理電路。當(dāng)用在本專利申請(qǐng)中時(shí),術(shù)語“電路”指這兩者(1)僅 硬件實(shí)現(xiàn)(例如采用僅模擬和/或數(shù)字電路的實(shí)現(xiàn)),以及⑵電路和軟件(和/或固件) 的組合(例如,在適用于特定環(huán)境的情況下,包括數(shù)字信號(hào)處理器的處理器、軟件和存儲(chǔ)器的組合,其一起運(yùn)轉(zhuǎn)以引起設(shè)備(例如移動(dòng)電話或服務(wù)器)實(shí)施各種功能的)?!半娐贰钡?該定義適用于該術(shù)語在本專利申請(qǐng)中的所有使用,包括在任意權(quán)利要求中的使用。作為進(jìn) 一步的示例,當(dāng)用在本專利申請(qǐng)中以及適用于特定環(huán)境的情況下,術(shù)語“電路”將還覆蓋僅 處理器(或多個(gè)處理器)及它(或它們)的附帶軟件/固件的實(shí)現(xiàn)。術(shù)語“電路”在適用 于特定環(huán)境的情況下將還覆蓋例如移動(dòng)電話中的基帶集成電路或應(yīng)用處理器集成電路,或 者蜂窩網(wǎng)絡(luò)設(shè)備或其它網(wǎng)絡(luò)設(shè)備中的類似集成電路。電話的相關(guān)內(nèi)部部件包括主控制單元(MCU)903、數(shù)字信號(hào)處理器(DSP)905以及 包括麥克風(fēng)增益控制單元和揚(yáng)聲器增益控制單元的接收器/發(fā)送器單元。主顯示器單元 907向用戶提供顯示,以支持各種應(yīng)用和移動(dòng)終端功能,其中,所述各種應(yīng)用和移動(dòng)終端功 能實(shí)施或支持確保向服務(wù)提供商的用戶代理信息的傳輸?shù)牟襟E中的一個(gè)或更多。顯示器 907包括顯示電路,所述顯示電路被配置為顯示移動(dòng)終端(例如移動(dòng)電話)的用戶界面的至 少一部分。另外,顯示器907和顯示電路被配置為輔助對(duì)移動(dòng)終端的至少一些功能的用戶 控制。音頻功能電路909包括麥克風(fēng)911和放大從麥克風(fēng)911輸出的語音信號(hào)的麥克風(fēng)放 大器。已被放大的從麥克風(fēng)911輸出的語音信號(hào)被饋入編碼器/解碼器(C0DEC)913。無線電部分915放大功率并轉(zhuǎn)換頻率,以便經(jīng)由天線917與被包括在移動(dòng)通信系 統(tǒng)中的基站通信。功率放大器(PA)919和發(fā)送器/調(diào)制電路運(yùn)行中可對(duì)MCU 903作出響應(yīng), 其中,如本領(lǐng)域中已知的那樣,來自PA 919的輸出耦合到雙工器921或循環(huán)器或天線開關(guān)。 PA 919還耦合到電池接口和功率控制單元920。使用中,移動(dòng)終端901的用戶向麥克風(fēng)911說話,他或她的語音與任何檢測(cè)到的 背景噪聲一起被轉(zhuǎn)換為模擬電壓。模擬電壓然后被通過模數(shù)轉(zhuǎn)換器(ADC)923轉(zhuǎn)換為數(shù)字 信號(hào)??刂茊卧?03將數(shù)字信號(hào)選路到DSP905以便在其中進(jìn)行例如語音編碼、信道編碼、 加密和交織的處理。在一個(gè)實(shí)施例中,已被處理的語音信號(hào)被未單獨(dú)示出的單元進(jìn)行編碼, 其中,所述編碼使用例如全球演進(jìn)(EDGE)、通用分組無線業(yè)務(wù)(GPRS)、全球移動(dòng)通信系統(tǒng) (GSM)、互聯(lián)網(wǎng)協(xié)議多媒體子系統(tǒng)(IMS)、通用移動(dòng)電信系統(tǒng)(UMTS)等的蜂窩傳輸協(xié)議,以 及例如微波接入(WiMAX)、長(zhǎng)期演進(jìn)(LTE)網(wǎng)絡(luò)、碼分多址(CDMA)、寬帶碼分多址(WCDMA)、 無線高保真(WiFi)、衛(wèi)星等的其它任意合適無線介質(zhì)。已編碼信號(hào)然后被選路到均衡器925,以便對(duì)穿過空氣傳輸期間發(fā)生的任何頻率 相關(guān)衰減(例如相位和振幅失真)進(jìn)行補(bǔ)償。在對(duì)比特流進(jìn)行均衡之后,調(diào)制器927將信號(hào) 與RF接口 9 中生成的RF信號(hào)進(jìn)行合并。調(diào)制器927通過頻率或相位調(diào)制生成正弦波。 為了準(zhǔn)備傳輸信號(hào),上變頻器931將調(diào)制器927輸出的正弦波與同步器933生成的另一正 弦波合并,以達(dá)到期望的傳輸頻率。信號(hào)然后被通過PA 919發(fā)送,以便將信號(hào)增大到合適 的功率水平。在實(shí)際系統(tǒng)中,PA 919充當(dāng)可變?cè)鲆娣糯笃?,所述可變?cè)鲆娣糯笃鞯脑鲆嬗?DSP 905根據(jù)從網(wǎng)絡(luò)基站接收的信號(hào)進(jìn)行控制。信號(hào)然后被在雙工器921中進(jìn)行濾波,并可 選地被發(fā)送到天線耦合器935,以便匹配用于提供最大功率傳輸?shù)淖杩?。最后,信?hào)被經(jīng)由 天線917發(fā)送到本地基站。可以提供自動(dòng)增益控制(AGC),以便控制接收器的最后階段的增 益??梢詮哪抢飳⑿盘?hào)轉(zhuǎn)發(fā)到遠(yuǎn)程電話,該遠(yuǎn)程電話可以是另一蜂窩電話、其它移動(dòng)電話或 者連接到公共電話交換網(wǎng)(PSTN)或其它電話網(wǎng)絡(luò)的陸上線路。經(jīng)由917接收發(fā)送到移動(dòng)終端901的語音信號(hào),該信號(hào)立即被低噪聲放大器 (LNA)937放大。下變頻器939降低載波頻率,而解調(diào)器941剝離RF僅留下數(shù)字比特流。信號(hào)然后通過均衡器925并被DSP 905處理。全都都在主控制單元(MCU)903——其可以實(shí)現(xiàn) 為中央處理單元(CPU)(未示出)——的控制下,數(shù)模轉(zhuǎn)換器(DAC) 943對(duì)信號(hào)進(jìn)行轉(zhuǎn)換,以 及,產(chǎn)生的輸出被通過揚(yáng)聲器945發(fā)送給用戶。MCU 903接收包括來自鍵區(qū)947的輸入信號(hào)的各種信號(hào)。鍵區(qū)947和/或MCU 903 連同其它用戶輸入部件(例如麥克風(fēng)911) 一起,包括用于管理用戶輸入的用戶接口電路。 MCU 903運(yùn)行用戶接口軟件,以輔助對(duì)移動(dòng)終端901的至少一些功能的用戶控制,以便確保 到服務(wù)提供商的用戶代理信息的傳輸。MCU 903還分別將顯示命令和切換命令遞送到顯示 器907和語音輸出切換控制器。進(jìn)一步地,MCU 903與DSP 905交換信息,并可以訪問可選 地被并入的SIM卡949和存儲(chǔ)器951。另外,MCU 903執(zhí)行終端所需的各種控制功能。取 決于實(shí)施方式,DSP 905可以對(duì)語音信號(hào)實(shí)施各種常規(guī)數(shù)字處理功能中的任意功能。另外, DSP 905從麥克風(fēng)911檢測(cè)到的信號(hào)確定本地環(huán)境的背景噪聲水平,并將麥克風(fēng)911的增益 設(shè)置為所選用于對(duì)移動(dòng)終端901的用戶的自然趨勢(shì)進(jìn)行補(bǔ)償?shù)乃?。CODEC 913包括ADC 923和DAC 943。存儲(chǔ)器951存儲(chǔ)包括呼叫到來聲音數(shù)據(jù)的各 種數(shù)據(jù),并能夠存儲(chǔ)包括經(jīng)由例如全球互聯(lián)網(wǎng)接收到的音樂數(shù)據(jù)的其它數(shù)據(jù)。軟件模塊可 以駐留在RAM存儲(chǔ)器、閃存器、寄存器或本領(lǐng)域中已知的任意其它形式的可寫存儲(chǔ)介質(zhì)中。 存儲(chǔ)器設(shè)備951可以是但不限于單個(gè)存儲(chǔ)器、⑶、DVD、R0M、RAM、EEPR0M、光存儲(chǔ)或能夠存儲(chǔ) 數(shù)字?jǐn)?shù)據(jù)的任意其它非易失性存儲(chǔ)介質(zhì)??蛇x地被并入的SIM卡949攜帶,例如重要信息,如蜂窩電話號(hào)碼、提供服務(wù)的承 載、訂閱詳情和安全信息。SIM卡949主要用于在無線網(wǎng)絡(luò)上標(biāo)識(shí)移動(dòng)終端901???49還 包含用于存儲(chǔ)個(gè)人電話號(hào)碼簿、文本消息和特定于用戶的移動(dòng)終端設(shè)置的存儲(chǔ)器。盡管已結(jié)合許多實(shí)施例和實(shí)現(xiàn)描述了本發(fā)明,但本發(fā)明不限于此,而是覆蓋落在 所附權(quán)利要求的范圍內(nèi)的各種顯而易見的修改和等效布置。盡管在權(quán)利要求中以特定組合 表述了本發(fā)明的特征,但設(shè)想這些特征可以以任意組合和順序來安排。
權(quán)利要求
1.一種方法,包括使類型字段和客戶端平臺(tái)信息字段都被插入到來自本地客戶端進(jìn)程的超文本傳輸協(xié) 議請(qǐng)求消息的統(tǒng)一資源定位符字段的第一部分中,其中,所述第一部分不同于所述統(tǒng)一資 源定位符字段的域部分;以及使所述超文本傳輸協(xié)議消息通過網(wǎng)絡(luò)發(fā)送到由所述域部分尋址的遠(yuǎn)程服務(wù)提供商,其中,所述類型字段保存這樣的數(shù)據(jù),所述數(shù)據(jù)指示,所述本地客戶端進(jìn)程是否將所述 客戶端信息字段插入到初始超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段中。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述類型字段中的主用值指示,所述本地客戶端 進(jìn)程基于所述超文本傳輸協(xié)議消息的用戶代理字段部分中的數(shù)據(jù),將所述客戶端信息字段 插入到了所述初始超文本傳輸協(xié)議請(qǐng)求消息的所述統(tǒng)一資源定位符字段中。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述類型字段中的退避值指示,所述本地客戶端 進(jìn)程沒有將所述客戶端信息字段插入到所述初始超文本傳輸協(xié)議請(qǐng)求消息的所述統(tǒng)一資 源定位符字段中。
4.根據(jù)權(quán)利要求1所述的方法,其中,所述統(tǒng)一資源定位符字段的所述第一部分是所 述統(tǒng)一資源定位符字段的子域部分。
5.根據(jù)權(quán)利要求1所述的方法,其中,所述統(tǒng)一資源定位符字段的所述第一部分是所 述統(tǒng)一資源定位符字段的腳本參數(shù)部分。
6.根據(jù)權(quán)利要求3所述的方法,其中,使所述類型字段和所述客戶端平臺(tái)信息字段被 插入到所述超文本傳輸協(xié)議請(qǐng)求消息的所述統(tǒng)一資源定位符字段的所述第一部分中進(jìn)一 步包括在使所述客戶端平臺(tái)信息字段被插入到所述超文本傳輸協(xié)議請(qǐng)求消息之前,執(zhí)行 之前的超文本傳輸協(xié)議響應(yīng)消息中提供的腳本,以便使所述客戶端平臺(tái)信息字段與所述超 文本傳輸協(xié)議請(qǐng)求消息的用戶代理字段中的數(shù)據(jù)一致。
7.一種設(shè)備,包括至少一個(gè)處理器;以及至少一個(gè)包括計(jì)算機(jī)程序代碼的存儲(chǔ)器,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被配置為,通過所述至少一個(gè)處理器,使 所述設(shè)備至少執(zhí)行以下操作使類型字段和客戶端平臺(tái)信息字段都被插入到來自所述設(shè)備的超文本傳輸協(xié)議請(qǐng)求 消息的統(tǒng)一資源定位符字段的第一部分中,其中,所述第一部分不同于所述統(tǒng)一資源定位 符字段的域部分;以及使所述超文本傳輸協(xié)議消息通過網(wǎng)絡(luò)發(fā)送到由所述域部分尋址的遠(yuǎn)程服務(wù)提供商,其中,所述類型字段保存這樣的數(shù)據(jù),所述數(shù)據(jù)指示,所述設(shè)備是否將所述客戶端信息 字段插入到初始超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段中。
8.根據(jù)權(quán)利要求7所述的設(shè)備,其中,所述類型字段中的退避值指示,所述設(shè)備沒有將 所述客戶端信息字段插入到所述初始超文本傳輸協(xié)議請(qǐng)求消息的所述統(tǒng)一資源定位符字 段中。
9.根據(jù)權(quán)利要求7所述的設(shè)備,其中,所述統(tǒng)一資源定位符字段的所述第一部分是所 述統(tǒng)一資源定位符字段的腳本參數(shù)部分。
10.根據(jù)權(quán)利要求7所述的設(shè)備,其中,使所述類型字段和所述客戶端平臺(tái)信息字段都被插入到所述超文本傳輸協(xié)議請(qǐng)求消息的所述統(tǒng)一資源定位符字段的所述第一部分中進(jìn) 一步包括在使所述客戶端平臺(tái)信息字段被插入到所述超文本傳輸協(xié)議請(qǐng)求消息中之前, 執(zhí)行在之前的超文本傳輸協(xié)議響應(yīng)消息中提供的腳本,以便使所述客戶端平臺(tái)信息字段與 所述超文本傳輸協(xié)議請(qǐng)求消息的用戶代理字段中的數(shù)據(jù)一致。
11.根據(jù)權(quán)利要求7所述的設(shè)備,其中,所述設(shè)備是移動(dòng)電話,其進(jìn)一步包括用戶接口電路和用戶接口軟件,其被配置為,通過使用顯示器來協(xié)助對(duì)所述移動(dòng)電話 的至少一些功能的用戶控制,以及被配置為,對(duì)用戶輸入作出響應(yīng);以及顯示器和顯示電路,其被配置為顯示所述移動(dòng)電話的用戶接口的至少一部分,所述顯 示器和顯示電路被配置為協(xié)助對(duì)所述移動(dòng)電話的至少一些功能的用戶控制。
12.一種包含協(xié)助接入服務(wù)的方法,其包括授予接入權(quán)限,包括確定類型字段和客戶端平臺(tái)信息字段是否都被包括在接收自遠(yuǎn)程客戶端進(jìn)程的超文 本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段的第一部分中,其中,所述第一部分不同于所 述統(tǒng)一資源定位符字段的域部分,其中,所述類型字段保存這樣的數(shù)據(jù),所述數(shù)據(jù)指示,所 述遠(yuǎn)程客戶端是否將所述客戶端信息字段插入到了初始超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一 資源定位符字段中;如果所述類型字段和所述客戶端平臺(tái)信息字段都被包括,則基于所述類型字段中的數(shù) 據(jù),確定是否將所述類型字段和所述客戶端平臺(tái)信息字段都包括在超文本傳輸協(xié)議響應(yīng)消 息的有效載荷部分中的鏈接中的統(tǒng)一資源定位符字段的第一部分中;以及使所述超文本傳輸協(xié)議響應(yīng)消息被發(fā)送到所述遠(yuǎn)程客戶端進(jìn)程。
13.根據(jù)權(quán)利要求12所述的方法,其中,確定是否將所述類型字段和所述客戶端平臺(tái) 信息字段都包括在所述超文本傳輸協(xié)議響應(yīng)消息中進(jìn)一步包括如果所述類型字段保存主 用值,該主用值指示所述遠(yuǎn)程客戶端進(jìn)程將所述客戶端信息字段被插入到初始超文本傳輸 協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段中,則確定不將所述類型字段或所述客戶端平臺(tái)信息 字段包括在所述超文本傳輸協(xié)議響應(yīng)消息的所述有效載荷部分中的所述統(tǒng)一資源定位符 字段的所述第一部分中。
14.根據(jù)權(quán)利要求13所述的方法,其中,確定是否將所述類型字段和所述客戶端平臺(tái) 信息字段都包括在所述超文本傳輸協(xié)議響應(yīng)消息中進(jìn)一步包括如果所述類型字段保存退 避值,該退避值指示,所述遠(yuǎn)程客戶端進(jìn)程最初沒有將所述客戶端信息字段插入到初始超 文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段中,則確定將所述類型字段和所述客戶端平 臺(tái)信息字段都包括在所述超文本傳輸協(xié)議響應(yīng)消息的有效載荷部分中的鏈接中的統(tǒng)一資 源定位符字段的第一部分中。
15.根據(jù)權(quán)利要求12所述的方法,其中,如果已確定類型字段和客戶端平臺(tái)信息字段 都沒有被包括在接收自遠(yuǎn)程客戶端的超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段的 一部分中,則將所述類型字段和所述客戶端平臺(tái)信息字段都包括在所述超文本傳輸協(xié)議響 應(yīng)消息的所述有效載荷部分中的鏈接中的統(tǒng)一資源定位符字段的第一部分中,其中,所述 類型值保存退避值,該退避值指示,所述遠(yuǎn)程客戶端進(jìn)程最初沒有將所述客戶端信息字段 插入到所述初始超文本傳輸協(xié)議請(qǐng)求消息的所述統(tǒng)一資源定位符字段中,其中,所述客戶 端平臺(tái)信息字段保存這樣的數(shù)據(jù),該數(shù)據(jù)指示客戶端平臺(tái)信息由初始不是所述遠(yuǎn)程客戶端 進(jìn)程的一部分進(jìn)程確定。
16.根據(jù)權(quán)利要求15所述的方法,其中,如果已確定類型字段和客戶端平臺(tái)信息字段 都沒有被包括在接收自所述遠(yuǎn)程客戶端的所述超文本傳輸協(xié)議請(qǐng)求消息的所述統(tǒng)一資源 定位符字段的第一部分中,則在所述超文本傳輸協(xié)議響應(yīng)消息中包括腳本,所述腳本使所 述遠(yuǎn)程客戶端引起所述客戶端平臺(tái)信息字段與所述超文本傳輸協(xié)議請(qǐng)求消息的用戶代理 字段中的數(shù)據(jù)一致。
17.一種設(shè)備,包括-至少一個(gè)處理器;以及-至少一個(gè)包括計(jì)算機(jī)程序代碼的存儲(chǔ)器,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被配置為,通過所述至少一個(gè)處理器,使 所述設(shè)備至少執(zhí)行以下操作確定類型字段和客戶端平臺(tái)信息字段是否都被包括在接收自遠(yuǎn)程客戶端進(jìn)程的超文 本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段的第一部分中,其中,所述第一部分不同于所 述統(tǒng)一資源定位符字段的域部分,其中,所述類型字段保存這樣的數(shù)據(jù),所述數(shù)據(jù)指示,所 述遠(yuǎn)程客戶端是否將所述客戶端信息字段插入到了初始超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一 資源定位符字段中;如果所述類型字段和所述客戶端平臺(tái)信息字段都被包括,則基于所述類型字段中的數(shù) 據(jù),確定是否將所述類型字段和所述客戶端平臺(tái)信息字段都包括在超文本傳輸協(xié)議響應(yīng)消 息的有效載荷部分中的鏈接中的統(tǒng)一資源定位符字段的第一部分中;以及使所述超文本傳輸協(xié)議響應(yīng)消息被發(fā)送到所述遠(yuǎn)程客戶端進(jìn)程。
18.根據(jù)權(quán)利要求17所述的設(shè)備,其中,確定是否將所述類型字段和所述客戶端平臺(tái) 信息字段都包括在所述超文本傳輸協(xié)議響應(yīng)消息中進(jìn)一步包括如果所述類型字段保存主 用值,該主用值指示所述遠(yuǎn)程客戶端進(jìn)程將所述客戶端信息字段被插入到初始超文本傳輸 協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段中,則確定不將所述類型字段或所述客戶端平臺(tái)信息 字段包括在所述超文本傳輸協(xié)議響應(yīng)消息的所述有效載荷部分中的鏈接中的所述統(tǒng)一資 源定位符字段的所述第一部分中。
19.根據(jù)權(quán)利要求17所述的設(shè)備,其中,確定是否將所述類型字段和所述客戶端平臺(tái) 信息字段都包括在所述超文本傳輸協(xié)議響應(yīng)消息中進(jìn)一步包括如果所述類型字段保存退 避值,該退避值指示,所述遠(yuǎn)程客戶端進(jìn)程最初沒有將所述客戶端信息字段插入到初始超 文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段中,則確定將所述類型字段和所述客戶端平 臺(tái)信息字段都包括在所述超文本傳輸協(xié)議響應(yīng)消息的有效載荷部分的鏈接中的統(tǒng)一資源 定位符字段的第一部分中。
20.根據(jù)權(quán)利要求17所述的設(shè)備,其中,如果已確定類型字段和客戶端平臺(tái)信息字段 都沒有被包括在接收自遠(yuǎn)程客戶端的超文本傳輸協(xié)議請(qǐng)求消息的統(tǒng)一資源定位符字段的 一部分中,則將所述類型字段和所述客戶端平臺(tái)信息字段都包括在所述超文本傳輸協(xié)議響 應(yīng)消息的所述有效載荷部分中的鏈接中的統(tǒng)一資源定位符字段的第一部分中,其中,所述 類型值保存退避值,該退避值指示,所述遠(yuǎn)程客戶端進(jìn)程最初沒有將所述客戶端信息字段 插入到所述初始超文本傳輸協(xié)議請(qǐng)求消息的所述統(tǒng)一資源定位符字段中,其中,所述客戶 端平臺(tái)信息字段保存這樣的數(shù)據(jù),該數(shù)據(jù)指示客戶端平臺(tái)信息由初始不是所述遠(yuǎn)程客戶端 進(jìn)程的一部分進(jìn)程確定。
全文摘要
提供了一種用于確保用戶代理信息傳輸?shù)姆椒ê驮O(shè)備。所述方法包括確定類型字段和客戶端平臺(tái)信息字段這兩者是否都被包括在接收自遠(yuǎn)程客戶端進(jìn)程的超文本傳輸協(xié)議(HTTP)請(qǐng)求消息的統(tǒng)一資源定位符字段(URL)的第一部分中。所述第一部分不同于所述URL的域部分。所述類型字段保存這樣的數(shù)據(jù),該數(shù)據(jù)指示,所述遠(yuǎn)程客戶端是否將所述客戶端信息字段插入到了初始HTTP請(qǐng)求消息的URL中。如果所述類型字段和所述客戶端平臺(tái)信息字段這兩者被包括,則基于所述類型字段中的數(shù)據(jù),確定是否將所述類型字段和所述客戶端平臺(tái)信息字段這兩者都包括在HTTP響應(yīng)消息中的鏈接中的URL的第一部分中。所述HTTP響應(yīng)消息被發(fā)送給所述遠(yuǎn)程客戶端進(jìn)程。
文檔編號(hào)H04L29/06GK102082817SQ201010563200
公開日2011年6月1日 申請(qǐng)日期2010年11月25日 優(yōu)先權(quán)日2009年11月25日
發(fā)明者付巖 申請(qǐng)人:諾基亞公司