亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種頁面處理方法和裝置與流程

文檔序號(hào):12006726閱讀:201來源:國知局
一種頁面處理方法和裝置與流程
本申請(qǐng)涉及頁面處理技術(shù)領(lǐng)域,特別是涉及一種頁面處理方法和裝置。

背景技術(shù):
隨著具備上網(wǎng)功能的移動(dòng)終端的普及,多數(shù)用戶已經(jīng)開始使用移動(dòng)終端上網(wǎng),瀏覽網(wǎng)頁信息。針對(duì)這一趨勢,各大網(wǎng)站專門優(yōu)化了自己的WAP網(wǎng)站(WAP,WirelessApplicationProtocol,無線應(yīng)用協(xié)議,一種實(shí)現(xiàn)移動(dòng)電話與互聯(lián)網(wǎng)結(jié)合的應(yīng)用協(xié)議標(biāo)準(zhǔn)),做了針對(duì)移動(dòng)終端用戶體驗(yàn)的WAP網(wǎng)站。在實(shí)際中,存在這樣一種數(shù)據(jù)處理方式,網(wǎng)站A的第三模塊提供某種應(yīng)用的網(wǎng)頁內(nèi)容,而網(wǎng)站B的第一模塊需要網(wǎng)站A的第三模塊提供的該種應(yīng)用的網(wǎng)頁內(nèi)容,以便于網(wǎng)站B的用戶可以通過網(wǎng)站B訪問網(wǎng)站A的第三模塊提供的內(nèi)容,而對(duì)于用戶從網(wǎng)站B訪問網(wǎng)站A的第三模塊的網(wǎng)頁內(nèi)容時(shí),需要在網(wǎng)頁內(nèi)容中顯示網(wǎng)站B的相關(guān)信息(比如在頁腳顯示網(wǎng)頁B的logo),即網(wǎng)站A的第三模塊的網(wǎng)頁內(nèi)容需要結(jié)合網(wǎng)站B的相關(guān)信息進(jìn)行調(diào)整。對(duì)于上述情況,現(xiàn)有技術(shù)中,對(duì)于網(wǎng)站B的相關(guān)信息,需要在網(wǎng)站A的提供原始網(wǎng)頁內(nèi)容的邏輯代碼中進(jìn)行適應(yīng)性修改,以保障通過網(wǎng)站B的第一模塊訪問第三模塊提供的網(wǎng)頁內(nèi)容時(shí),可顯示網(wǎng)站B的相關(guān)信息。由于上述的修改方式,現(xiàn)有技術(shù)存在下面幾個(gè)缺點(diǎn):1、對(duì)于分布式系統(tǒng),即存在多個(gè)第三模塊提供各種應(yīng)用的網(wǎng)頁內(nèi)容時(shí),現(xiàn)有的解決方案會(huì)導(dǎo)致網(wǎng)站B的需求代碼散落在多個(gè)應(yīng)用系統(tǒng)即多個(gè)第三模塊中,需要與各第三模塊原始的提供網(wǎng)頁內(nèi)容的業(yè)務(wù)邏輯代碼耦合,這增加了維護(hù)成本。2、隨著需要第三模塊提供的網(wǎng)頁內(nèi)容的網(wǎng)站增加和需求的變化,比如還有網(wǎng)站C、D也需要某個(gè)第三模塊提供的網(wǎng)頁內(nèi)容,或網(wǎng)站B需要修改的信息改變,則需要在該第三模塊當(dāng)前的邏輯代碼中繼續(xù)根據(jù)需求進(jìn)行修改。這樣,直接在第三模塊的業(yè)務(wù)邏輯中修改的業(yè)務(wù)代碼將越來越多。而如果第三模塊提供原始網(wǎng)頁內(nèi)容的核心業(yè)務(wù)邏輯需要改變和升級(jí)時(shí),上述根據(jù)第三服務(wù)器方的需求進(jìn)行修改的邏輯也需要同步更新。當(dāng)?shù)谌K提供原始頁面內(nèi)容的核心業(yè)務(wù)邏輯規(guī)模的增大和所述修改邏輯的增多,這種根據(jù)需求修改的邏輯會(huì)逐漸變成影響第三業(yè)務(wù)模塊業(yè)務(wù)邏輯系統(tǒng)的因素之一,增加系統(tǒng)穩(wěn)定性的風(fēng)險(xiǎn),并且增加升級(jí)成本。3、網(wǎng)站B或者其他與第三模塊不同的需求方的修改需求通常是緊急的、零散的、隨機(jī)的,當(dāng)接收到其他網(wǎng)站的修改需求時(shí),如果修改第三模塊業(yè)務(wù)邏輯的邏輯再發(fā)布,修改時(shí)間周期長,增加時(shí)間成本,從而影響第三模塊業(yè)務(wù)邏輯的發(fā)布效率。

技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)是提供一種頁面處理方法和裝置,能將要修改各第三模塊中提供原始頁面內(nèi)容的核心業(yè)務(wù)邏輯的需求代碼從各第三模塊中剝離出來,在不對(duì)業(yè)務(wù)應(yīng)用進(jìn)行修改的前提下,針對(duì)與第三模塊不同所屬方的其他模塊的差異需求,快速生成與其他模塊需求相適應(yīng)的頁面,提供了快速修改的響應(yīng)效果,并保證了第三模塊原有邏輯系統(tǒng)的穩(wěn)定性。為了解決上述問題,本申請(qǐng)公開了一種頁面處理方法,包括:解析頁面請(qǐng)求中的參數(shù)信息,所述參數(shù)信息包括目標(biāo)域名和標(biāo)示所述頁面請(qǐng)求屬于第一模塊的第一標(biāo)識(shí);所述頁面請(qǐng)求由第一模塊的用戶端發(fā)起,所述頁面請(qǐng)求對(duì)應(yīng)的頁面內(nèi)容由對(duì)應(yīng)的第三模塊提供;對(duì)于包括第一標(biāo)識(shí)的請(qǐng)求,根據(jù)該請(qǐng)求中的目標(biāo)域名將其轉(zhuǎn)發(fā)至相應(yīng)的第三模塊,并從所述第三模塊獲取響應(yīng)的頁面內(nèi)容;加載配置模塊的配置文件中對(duì)應(yīng)所述第一標(biāo)識(shí)的配置信息,并根據(jù)所述配置信息對(duì)所述頁面內(nèi)容進(jìn)行處理;返回所述處理后的頁面內(nèi)容。優(yōu)選的,通過如下步驟加載配置模塊的配置文件中對(duì)應(yīng)所述第一標(biāo)識(shí)的配置信息,并根據(jù)所述配置信息對(duì)所述頁面內(nèi)容進(jìn)行處理:步驟A1,加載配置模塊的配置文件中對(duì)應(yīng)所述第一標(biāo)識(shí)的配置信息;步驟A2,從所述頁面內(nèi)容中查找與所述配置信息中各結(jié)點(diǎn)信息對(duì)應(yīng)的結(jié)點(diǎn)信息;步驟A3,根據(jù)配置信息中對(duì)各結(jié)點(diǎn)信息的描述對(duì)所述頁面內(nèi)容中的結(jié)點(diǎn)信息進(jìn)行修改。優(yōu)選的,通過如下步驟從所述頁面內(nèi)容中查找與所述配置信息中各結(jié)點(diǎn)信息對(duì)應(yīng)的結(jié)點(diǎn)信息:根據(jù)配置信息中待修改結(jié)點(diǎn)的標(biāo)簽名和屬性信息對(duì)應(yīng)的字符串,通過將所述字符串與頁面內(nèi)容對(duì)應(yīng)的字符串進(jìn)行匹配,查找頁面內(nèi)容中所述結(jié)點(diǎn)信息;或,根據(jù)配置信息中待修改結(jié)點(diǎn)信息的標(biāo)簽名和屬性信息,通過遍歷所述頁面內(nèi)容的DOM樹,查找頁面內(nèi)容中所述結(jié)點(diǎn)信息。優(yōu)選的,所述各步驟在代理模塊中執(zhí)行。優(yōu)選的,對(duì)所述頁面內(nèi)容進(jìn)行處理還包括:步驟A4,將頁面內(nèi)容中的原目標(biāo)鏈接地址替換為代理地址。優(yōu)選的,通過以下步驟解析頁面請(qǐng)求參數(shù)信息:步驟B1,解析請(qǐng)求URL,獲取請(qǐng)求中的域名;步驟B2,驗(yàn)證域名是否合法;如果不合法,轉(zhuǎn)入步驟B3,如果合法,轉(zhuǎn)入B4;步驟B3,拒絕本次訪問請(qǐng)求;步驟B4,提取請(qǐng)求中用戶端參數(shù)信息。優(yōu)選的,所述的用戶端參數(shù)信息包括第一標(biāo)識(shí),用戶端的IP,和用戶端的類型。優(yōu)選的,還包括:URL處理步驟,減少URL的鏈接長度,并將URL中包含的統(tǒng)計(jì)參數(shù)添加到返回頁面內(nèi)容的各URL中。優(yōu)選的,所述對(duì)于包括第一標(biāo)識(shí)的請(qǐng)求,根據(jù)該請(qǐng)求中的目標(biāo)域名將其轉(zhuǎn)發(fā)至相應(yīng)的第三模塊,并從所述第三模塊獲取響應(yīng)的頁面內(nèi)容的步驟包括:步驟D1,根據(jù)請(qǐng)求中請(qǐng)求方的身份信建立一個(gè)模擬HTTP請(qǐng)求;步驟D2,執(zhí)行所述模擬HTTP請(qǐng)求,獲取響應(yīng)的頁面內(nèi)容。優(yōu)選的,執(zhí)行所述模擬HTTP請(qǐng)求,獲取響應(yīng)的頁面內(nèi)容時(shí):當(dāng)HTTP響應(yīng)代碼為正常,則直接獲取響應(yīng)的頁面內(nèi)容并緩存;當(dāng)HTTP響應(yīng)代碼為所述頁面請(qǐng)求需要重新定位,則讓第一服務(wù)器重新訪問代理地址。相應(yīng)的,本申請(qǐng)還公開了一種頁面處理裝置,包括:請(qǐng)求受理模塊,用于解析頁面請(qǐng)求中的參數(shù)信息,所述參數(shù)信息包括目標(biāo)域名和標(biāo)示所述頁面請(qǐng)求屬于第一模塊的第一標(biāo)識(shí);所述頁面請(qǐng)求由第一模塊的用戶端發(fā)起,所述頁面請(qǐng)求對(duì)應(yīng)的頁面內(nèi)容由對(duì)應(yīng)的第三模塊提供;請(qǐng)求轉(zhuǎn)發(fā)模塊,用于對(duì)于包括第一標(biāo)識(shí)的請(qǐng)求,根據(jù)該請(qǐng)求中的目標(biāo)域名將其轉(zhuǎn)發(fā)至相應(yīng)的第三模塊,并從所述第三模塊獲取響應(yīng)的頁面內(nèi)容;內(nèi)容處理模塊,用于加載配置模塊的配置文件中對(duì)應(yīng)所述第一標(biāo)識(shí)的配置信息,并根據(jù)所述配置信息對(duì)所述頁面內(nèi)容進(jìn)行處理;頁面返回模塊,用于返回所述處理后的頁面內(nèi)容。與現(xiàn)有技術(shù)相比,本申請(qǐng)包括以下優(yōu)點(diǎn):(1)非侵入性。本申請(qǐng)根據(jù)在第三模塊提供原始頁面內(nèi)容的核心邏輯以外的配置模塊中針對(duì)不同需求配置相應(yīng)的配置信息,然后根據(jù)配置信息在所述核心邏輯以外修改頁面內(nèi)容,無須修改各第三模塊提供原始頁面內(nèi)容的核心邏輯代碼,如此,修改不會(huì)影響第三模塊提供原始頁面內(nèi)容的核心邏輯,修改的代碼不會(huì)與核心邏輯進(jìn)行耦合。(2)易維護(hù)性和穩(wěn)定性。本申請(qǐng)通過配置模塊對(duì)各種差異需求進(jìn)行配置,然后基于配置進(jìn)行修改,也無需改動(dòng)核心邏輯,對(duì)于需求代碼和核心邏輯代碼均便于維護(hù),并且,由于核心邏輯代碼沒有改變,所以系統(tǒng)比較穩(wěn)定;并且在針對(duì)不同需求時(shí),可只基于配置模塊中的配置信息對(duì)網(wǎng)頁內(nèi)容進(jìn)行修改,當(dāng)?shù)谌K的核心邏輯變動(dòng)或者升級(jí)時(shí)無需關(guān)注需求代碼,降低了升級(jí)成本。(3)動(dòng)態(tài)發(fā)布的方式。本申請(qǐng)隨時(shí)可以在配置模塊中增加或修改配置信息,然后系統(tǒng)根據(jù)配置信息在所述核心邏輯以外修改頁面內(nèi)容,無須修改多個(gè)第三模塊中的邏輯再進(jìn)行發(fā)布,能快速響應(yīng)其他模塊的需求。附圖說明圖1是本申請(qǐng)一種頁面處理方法的流程示意圖;圖2是本申請(qǐng)優(yōu)選的一種頁面處理裝置的流程示意圖;圖3是本申請(qǐng)一種頁面處理方法的結(jié)構(gòu)示意圖;圖4是本申請(qǐng)優(yōu)選的一種頁面處理方法的結(jié)構(gòu)示意圖;圖5是本申請(qǐng)優(yōu)選的一種頁面處理方法的結(jié)構(gòu)示意圖。具體實(shí)施方式為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說明。本申請(qǐng)的核心思想之一在于,基于反向代理的原理,對(duì)于提供原始頁面內(nèi)容的第三模塊,本申請(qǐng)將其獨(dú)立出來。對(duì)于需要第三模塊提供的頁面內(nèi)容的第一模塊,在配置模塊中配置第一模塊需求的配置信息,然后由本申請(qǐng)的第二模塊針對(duì)第一模塊的用戶端發(fā)起的網(wǎng)頁請(qǐng)求,從第三模塊獲取網(wǎng)頁內(nèi)容,根據(jù)第一模塊的配置信息進(jìn)行處理,再將處理結(jié)果返回給用戶端。如此,對(duì)于第三模塊提供原始頁面內(nèi)容的核心邏輯,由于其只用于提供原始網(wǎng)頁內(nèi)容,針對(duì)第一模塊需求的需求修改邏輯則在本申請(qǐng)的第二模塊中進(jìn)行,無需修改第三模塊中的所述核心邏輯。因此,需求修改邏輯代碼與核心邏輯代碼相互之間不相互影響,各自進(jìn)行各自邏輯代碼維護(hù),方便易行,第三模塊的邏輯系統(tǒng)穩(wěn)定,并且針對(duì)第一模塊的需求,無須再完整修改第三模塊的所有邏輯后發(fā)布,從而能夠快速響應(yīng)合作需求。參照?qǐng)D1,其示出了本申請(qǐng)一種頁面處理方法的流程示意圖,包括:請(qǐng)求接收步驟110,解析頁面請(qǐng)求中的參數(shù)信息,所述參數(shù)信息包括目標(biāo)域名和標(biāo)示所述頁面請(qǐng)求屬于第一模塊的第一標(biāo)識(shí);所述頁面請(qǐng)求由第一模塊的用戶端發(fā)起,所述頁面請(qǐng)求對(duì)應(yīng)的頁面內(nèi)容由對(duì)應(yīng)的第三模塊提供;在實(shí)際中,站點(diǎn)之間通常會(huì)進(jìn)行合作,以投放相關(guān)頁面內(nèi)容。比如,第二站點(diǎn)B與第一站點(diǎn)A進(jìn)行合作,訪問第一站點(diǎn)A的用戶可通過第一站點(diǎn)A對(duì)應(yīng)第一模塊獲得或展示第二站點(diǎn)B對(duì)應(yīng)的第三模塊提供的網(wǎng)頁內(nèi)容。通常在上述情況下,第一模塊對(duì)應(yīng)的第一站點(diǎn)A需要第二站點(diǎn)B的第三模塊提供的頁面內(nèi)容,提供的第三模塊的頁面內(nèi)容中需要包括第一服務(wù)器所在方的相關(guān)信息;比如第一站點(diǎn)A需要第三模塊提供的頁面的頁腳和頁眉中采用第一站點(diǎn)A的LOGO圖片等附加信息。另外,在實(shí)際中可能有多個(gè)第一模塊,即有多個(gè)站點(diǎn)與提供網(wǎng)頁內(nèi)容的第三模塊,而各個(gè)第一模塊的處理需求通常都不同,如具體加載的內(nèi)容、加載的方式等。另外也可能存在多個(gè)第三模塊。對(duì)于第一模塊,其存在訪問第一模塊的用戶端。比如對(duì)于網(wǎng)站A,用戶端可訪問網(wǎng)站A,如果網(wǎng)站A中設(shè)置有對(duì)應(yīng)第三模塊提供的網(wǎng)頁內(nèi)容的鏈接,而用戶點(diǎn)擊了該鏈接,則用戶發(fā)起的該網(wǎng)頁請(qǐng)求即發(fā)送至本申請(qǐng)的第二模塊。一般情況下,網(wǎng)站A的第一模塊是將第三模塊網(wǎng)頁內(nèi)容的鏈接掛在網(wǎng)站,當(dāng)用戶點(diǎn)擊時(shí)直接跳轉(zhuǎn)至第二模塊,網(wǎng)站A的第一模塊也可將對(duì)應(yīng)第三模塊網(wǎng)頁內(nèi)容的鏈接進(jìn)行處理再掛載在網(wǎng)站A上,當(dāng)用戶點(diǎn)擊時(shí),第一模塊先對(duì)鏈接進(jìn)行處理再發(fā)送至第二模塊。第二模塊接收的頁面請(qǐng)求中包括第一模塊對(duì)應(yīng)的第一標(biāo)識(shí)、目標(biāo)域名和用戶端參數(shù)信息。比如第二模塊接收到的頁面請(qǐng)求的URL(Uniform/UniversalResourceLocator,統(tǒng)一資源定位符):http://proxy.m.taobao.com/gate/sina/p.do?p_url=wap.taobao.com%3Fttid%3D1,其中,第一服務(wù)器對(duì)應(yīng)的第一標(biāo)識(shí)為sina,請(qǐng)求中對(duì)應(yīng)第三模塊的目標(biāo)域名為wap.taobao.com。另外,所述頁面請(qǐng)求中還包括訪問第一服務(wù)器的用戶端參數(shù)信息,比如用戶端IP,用戶端的類型等。優(yōu)選的,對(duì)于接收到的用戶端通過第一服務(wù)器提供的接口發(fā)送的頁面請(qǐng)求,代理會(huì)預(yù)處理所述頁面請(qǐng)求,并檢查所述頁面請(qǐng)求的有效性。優(yōu)選的,通過以下步驟分析處理所述頁面請(qǐng)求:步驟B1,解析請(qǐng)求URL,獲取請(qǐng)求中的域名。比如,對(duì)于前述請(qǐng)求URL:http://proxy.m.taobao.com/gate/sina/p.do?p_url=wap.taobao.com%3Fttid%3D1根據(jù)p_url后的參數(shù)值,進(jìn)行url解碼,獲取請(qǐng)求的域名wap.taobao.com。步驟B2,驗(yàn)證域名是否合法;如果不合法,轉(zhuǎn)入步驟B3,如果合法,轉(zhuǎn)入B4。在實(shí)際中根據(jù)特定的策略對(duì)獲取的域名進(jìn)行驗(yàn)證,保證代理方訪問的是合法的站點(diǎn),避免釣魚等案例問題。比如如果本wap站點(diǎn)是wap.taobao.com,而請(qǐng)求中的域名是wap.taobao1.com,而wap.taobao1.com是一個(gè)釣魚網(wǎng)站,則根據(jù)本站的真實(shí)域名可以判斷wap.taobao1.com是不合法的域名,即無效請(qǐng)求。B3,拒絕本次訪問請(qǐng)求。如果請(qǐng)求的地址不是一個(gè)合法地址,請(qǐng)求受理模塊就直接拒絕處理本次訪問請(qǐng)求。B4,提取請(qǐng)求中用戶端參數(shù)信息。該步驟封裝用戶端參數(shù)信息,所述的參數(shù)信息包括第一標(biāo)識(shí),用戶端的IP,和用戶端的類型。如第一標(biāo)識(shí)sina、用戶端的ip、用戶端的user-agent(比如用戶端的類型(user-agent)為iphone用戶)等信息。上述信息會(huì)被后續(xù)模塊使用。另外,還包括URL處理步驟,減少URL的鏈接長度,并將URL中包含的統(tǒng)計(jì)參數(shù)添加到返回頁面內(nèi)容的各URL中。比如將http://wap.taobao.com?ttid=1的url替換為wap.taobao.com?ttid=1減少鏈接長度,減少用戶流量。將請(qǐng)求的URL中包含的統(tǒng)計(jì)參數(shù)如ttid,添加到返回頁面的所有URL中,用于數(shù)據(jù)統(tǒng)計(jì)。在實(shí)際中,本申請(qǐng)的第二模塊一般是代理模塊,可以存在于每個(gè)第三模塊對(duì)應(yīng)的服務(wù)器中。也可以單獨(dú)設(shè)置為一個(gè)代理服務(wù)器,由代理服務(wù)器反向代理后端提供各種網(wǎng)頁內(nèi)容的第三模塊。請(qǐng)求轉(zhuǎn)發(fā)步驟120,對(duì)于包括第一標(biāo)識(shí)的請(qǐng)求,根據(jù)該請(qǐng)求中的目標(biāo)域名將其轉(zhuǎn)發(fā)至相應(yīng)的第三模塊,并從所述第三模塊獲取響應(yīng)的頁面內(nèi)容。在實(shí)際中,該步驟會(huì)根據(jù)代理的請(qǐng)求,可以將這個(gè)請(qǐng)求和相關(guān)參數(shù)信息以HTTP協(xié)議重新提交到與域名相應(yīng)的第三模塊,同時(shí)接受遠(yuǎn)程的響應(yīng)內(nèi)容。即首先通過請(qǐng)求中是否包括第一標(biāo)識(shí)判斷該請(qǐng)求是否由第一服務(wù)器端發(fā)送,如果是再根據(jù)請(qǐng)求中的目域名將該請(qǐng)求轉(zhuǎn)發(fā)至相應(yīng)第三模塊。實(shí)際中,將第三模塊返回的頁面內(nèi)容緩存再第二模塊中。優(yōu)選的,通過如下步驟將所述頁面請(qǐng)求轉(zhuǎn)發(fā)至第三模塊,并從第三模塊獲取響應(yīng)的頁面內(nèi)容:步驟D1,根據(jù)請(qǐng)求中請(qǐng)求方的身份信建立一個(gè)模擬HTTP請(qǐng)求。以前述獲得的URL請(qǐng)求:“http://proxy.m.taobao.com/gate/sina/p.do?p_url=wap.taobao.com%3Fttid%3D1”為例,在實(shí)際中可按如下步驟HTTP協(xié)議重新提交到目標(biāo)第三模塊:步驟m1,創(chuàng)建請(qǐng)求對(duì)象。是根據(jù)域名wap.taobao.com,創(chuàng)建一個(gè)httpClient的對(duì)應(yīng)的GetMethod對(duì)象,用于封裝請(qǐng)求。步驟m2,將訪問URL中的參數(shù)ttid=1,提交給Method對(duì)象,并模擬HTTP請(qǐng)求,增加use-agent信息、請(qǐng)求方ip等信息,用于模擬真實(shí)HTTP訪問應(yīng)用系統(tǒng)。步驟D2,執(zhí)行所述模擬HTTP請(qǐng)求,獲取響應(yīng)的頁面內(nèi)容。在通過前述步驟得到模擬HTTP請(qǐng)求后,可以如下步驟進(jìn)行:步驟m3,執(zhí)行請(qǐng)求。通過HttpClient組件調(diào)用請(qǐng)求。獲取響應(yīng)的內(nèi)容。步驟m4,處理響應(yīng)內(nèi)容。其中,獲取響應(yīng)的頁面內(nèi)容時(shí):當(dāng)HTTP響應(yīng)為正常,比如響應(yīng)的代碼是200,則直接獲取響應(yīng)的頁面內(nèi)容并緩存。該緩存中的內(nèi)容用于后續(xù)的處理。當(dāng)HTTP響應(yīng)為所述頁面請(qǐng)求需要重新定位,比如響應(yīng)的代碼是302,則讓用戶端重新訪問代理地址。即如果響應(yīng)代碼是302,則說明是需要重定向,需要重寫請(qǐng)求地址,即讓用戶端的瀏覽器訪問新的代理地址。上述過程可已使用httpClient(可以用來提供高效的、最新的、功能豐富的支持HTTP協(xié)議的客戶端編程工具包)組件進(jìn)行轉(zhuǎn)發(fā)請(qǐng)求并獲取響應(yīng)的頁面內(nèi)容,也可以使用其他方法進(jìn)行轉(zhuǎn)發(fā)請(qǐng)求并獲取響應(yīng)的頁面內(nèi)容,本申請(qǐng)對(duì)此不加以限制。模擬http請(qǐng)求的過程還可使用其他方法,本申請(qǐng)對(duì)此不加以限制。內(nèi)容處理步驟130,加載配置模塊的配置文件中對(duì)應(yīng)所述第一標(biāo)識(shí)的配置信息,并根據(jù)所述配置信息對(duì)所述頁面內(nèi)容進(jìn)行處理。在實(shí)際中,對(duì)于需要第三模塊提供的網(wǎng)頁內(nèi)容的其他的第一模塊,如果所述第一模塊要求修改返回的頁面內(nèi)容,那么可在配置模塊中將要求修改的配置信息預(yù)先配置完畢,其中配置信息以第一模塊對(duì)應(yīng)的第一標(biāo)識(shí)作為加載條件,當(dāng)代理需要使用時(shí)再根據(jù)該第一標(biāo)識(shí)加載相應(yīng)的配置信息,然后利用配置信息對(duì)前述獲得的頁面內(nèi)容進(jìn)行處理。其中配置信息所在配置文件可在代理中。在實(shí)際中,配置模塊可單獨(dú)存在,也可存在與代理服務(wù)器中,具體情況本申請(qǐng)不對(duì)其加以限制。本步驟主要負(fù)責(zé)對(duì)頁面內(nèi)容進(jìn)行處理,包括了刪除、添加和更新頁面內(nèi)容等處理方式。實(shí)際中一般對(duì)xhtml和/或html文檔進(jìn)行處理。優(yōu)選的,通過如下步驟通過如下步驟加載配置模塊的配置文件中對(duì)應(yīng)所述第一標(biāo)識(shí)的配置信息,并根據(jù)所述配置信息對(duì)所述頁面內(nèi)容進(jìn)行處理:步驟A1,加載配置模塊的配置文件中對(duì)應(yīng)所述第一標(biāo)識(shí)的配置信息。所述第一標(biāo)識(shí)標(biāo)示該頁面請(qǐng)求由相應(yīng)第一模塊的用戶發(fā)起,所述對(duì)應(yīng)所述第一標(biāo)識(shí)的配置信息包括第一模塊的對(duì)頁面內(nèi)容的修改信息。比如前述請(qǐng)求URL中的第一標(biāo)識(shí)為sina,則系統(tǒng)加載配置模塊的配置文件中第一標(biāo)識(shí)sina對(duì)應(yīng)的配置信息。然后利用所述配置信息對(duì)前面緩存中的響應(yīng)頁面內(nèi)容進(jìn)行處理。所述配置文件可能包括了多個(gè)站點(diǎn)的配置信息,本申請(qǐng)可根據(jù)所述不同服務(wù)器對(duì)應(yīng)的不同的第一標(biāo)識(shí)加載配置文件中相應(yīng)的配置信息。其中,配置信息可利用XML(ExtensibleMarkupLanguage,可擴(kuò)展標(biāo)記語言)定義一系列處理規(guī)則描述,可以方便修改,便于隨時(shí)更新第第一服務(wù)器端所在站點(diǎn)的需求。步驟A2,從所述頁面內(nèi)容中查找與所述配置信息中各結(jié)點(diǎn)信息對(duì)應(yīng)的結(jié)點(diǎn)信息。在步驟A1加載了請(qǐng)求中對(duì)應(yīng)第三方的配置信息后,可根據(jù)配置信息中需要修改的結(jié)點(diǎn)信息,查找到所述頁面內(nèi)容中與配置信息中該結(jié)點(diǎn)信息對(duì)應(yīng)的結(jié)點(diǎn)信息。優(yōu)選的,通過如下步驟從所述頁面內(nèi)容中查找與所述配置信息中各結(jié)點(diǎn)信息對(duì)應(yīng)的結(jié)點(diǎn)信息:步驟C1,根據(jù)配置信息中待修改結(jié)點(diǎn)的標(biāo)簽名和屬性信息對(duì)應(yīng)的字符串,通過將所述字符串與頁面內(nèi)容對(duì)應(yīng)的字符串進(jìn)行匹配,查找頁面內(nèi)容中所述結(jié)點(diǎn)信息。對(duì)于頁面的html元素內(nèi)容,本步驟是通過字符串的方式解析html元素內(nèi)容,根據(jù)標(biāo)簽名(tag)和該標(biāo)簽的屬性(比如class值,或id值等)快速匹配查找結(jié)點(diǎn)。在實(shí)際中,可先根據(jù)配置信息中結(jié)點(diǎn)信息對(duì)應(yīng)的標(biāo)簽名對(duì)應(yīng)的屬性值與html元素內(nèi)容的字符串進(jìn)行匹配,再找到匹配結(jié)果后,根據(jù)tag標(biāo)簽的結(jié)構(gòu)確認(rèn)整個(gè)結(jié)點(diǎn)信息的范圍。比如匹配的結(jié)點(diǎn)的匹配元素為:<nodeMatchername="footer"type="TAG"></nodeMatcher>,其表示匹配一個(gè)名為footer的html元素標(biāo)簽。本步驟的查找方法快速,省時(shí)?;?,步驟C2,根據(jù)配置信息中待修改結(jié)點(diǎn)信息的標(biāo)簽名和屬性信息,通過遍歷所述頁面內(nèi)容的DOM樹,查找頁面內(nèi)容中所述結(jié)點(diǎn)信息。為了查找到頁面內(nèi)容與配置信息中待修改結(jié)點(diǎn)信息相應(yīng)的結(jié)點(diǎn)信息,本申請(qǐng)也可采用遍歷整個(gè)頁面內(nèi)容對(duì)應(yīng)的DOM樹的形式。相對(duì)前一種查找方法而言,速度相對(duì)較慢。另外,本申請(qǐng)對(duì)于查找到頁面內(nèi)容與配置信息中待修改結(jié)點(diǎn)相應(yīng)的結(jié)點(diǎn)的方法不加以限制,任何可以查找到所述頁面內(nèi)容中相應(yīng)結(jié)點(diǎn)信息的方法均可。步驟A3,根據(jù)配置信息中對(duì)各結(jié)點(diǎn)信息的描述對(duì)所述結(jié)點(diǎn)信息進(jìn)行修改。當(dāng)在步驟A2中查找到頁面內(nèi)容中待修改的結(jié)點(diǎn)信息后,根據(jù)配置信息中對(duì)各結(jié)點(diǎn)信息的描述對(duì)所述結(jié)點(diǎn)信息進(jìn)行修改。修改動(dòng)作包括替換(replace)、插入(insert)、刪除(delete)等。比如對(duì)應(yīng)替換,其執(zhí)行動(dòng)作為“action=replace”。其中,當(dāng)“action=replace”或者“action=insert”時(shí),將頁面內(nèi)容中所述結(jié)點(diǎn)信息的內(nèi)容修改為配置信息中配置的內(nèi)容。在實(shí)際中,對(duì)于配置信息中的各個(gè)結(jié)點(diǎn)信息,可按各結(jié)點(diǎn)信息的順序,逐個(gè)查找并修改,即查找并修改完一個(gè)結(jié)點(diǎn)信息后,再進(jìn)行下一個(gè)結(jié)點(diǎn)信息的查找修改過程。另外,在步驟C1和C2行字符串匹配查找頁面內(nèi)容中結(jié)點(diǎn)信息的過程中,可能會(huì)匹配到不同位置的多個(gè)結(jié)點(diǎn)信息,此時(shí),可預(yù)先在配置信息中配置對(duì)哪些位置的結(jié)點(diǎn)信息進(jìn)行修改,比如只修改頁頭和頁尾的結(jié)點(diǎn)信息,或者對(duì)查到的所有結(jié)點(diǎn)信息全部進(jìn)行修改。實(shí)際中,查找和修改這些處理過程可通過實(shí)現(xiàn)定義的Handler接口完成的,所述Handler接口是用于處理消息內(nèi)容的核心類,其類可如下:Ihandler+getName{}:String+invoke{ProxyContextProxyContext}:void在系統(tǒng)中實(shí)現(xiàn)了ReplaceHandler、DeleteHandler和InsertHander組件,對(duì)應(yīng)以上的修改規(guī)則中定義的Action。在實(shí)際該Handler接口也可以根據(jù)具體的修改要求進(jìn)行擴(kuò)展。進(jìn)一步的,對(duì)于在代理中執(zhí)行各步驟時(shí)還包括:步驟A4,將頁面內(nèi)容中的原目標(biāo)鏈接地址替換為代理地址。在實(shí)際中,本申請(qǐng)采用的第二模塊為代理,比如wap代理。因此可通過wap代理執(zhí)行上述各個(gè)步驟。為了保證用戶端的后續(xù)的請(qǐng)求都被wap代理處理,需要將頁面中所有有效的url即原請(qǐng)求中的目標(biāo)鏈接地址,替換為代理地址。保證用戶點(diǎn)擊展示頁面中其他與目標(biāo)域名相關(guān)的鏈接時(shí)也訪問代理。比如頁面中包含了http://m.taobao.com/index.htm的鏈接,則根據(jù)配置信息的要求將其替換為:/proxy/ifeng/p.do?p_url=m.taobao.com/index.htm。參照?qǐng)D2,其為一個(gè)頁面內(nèi)容替換前后的對(duì)比實(shí)例圖。其中,首先進(jìn)行Matcher操作,Matcher為通過前述處理規(guī)則中的匹配原則匹配到foot(頁尾)結(jié)點(diǎn)的操作,即圖2中粗框81所示區(qū)域;再進(jìn)行Action操作,將原來頁尾結(jié)點(diǎn)內(nèi)容替換為第一模塊(即需要第三模塊提供的網(wǎng)頁內(nèi)容的合作方)要求的頁尾內(nèi)容(Content),得到即圖2中粗框82所示區(qū)域。在本示例中,第一模塊對(duì)應(yīng)為鳳凰網(wǎng)。頁面返回步驟140,返回所述處理后的頁面內(nèi)容。在通過上述步驟將頁面內(nèi)容處理完畢之后,將所所述處理后的頁面內(nèi)容返回至用戶端。在返回時(shí),可由代理直接將所述返回的頁面內(nèi)容返回至用戶端;也可先由代理發(fā)送至第一服務(wù)器,再由通過第一服務(wù)器返回至用戶端。具體返回方式本申請(qǐng)不對(duì)其加以限制。需要說明的是,對(duì)于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。參照?qǐng)D3,其示出了本申請(qǐng)一種頁面處理方法的結(jié)構(gòu)示意圖,包括:請(qǐng)求受理模塊310,用于解析頁面請(qǐng)求中的參數(shù)信息,所述參數(shù)信息包括目標(biāo)域名和標(biāo)示所述頁面請(qǐng)求屬于第一模塊的第一標(biāo)識(shí);所述頁面請(qǐng)求由第一模塊的用戶端發(fā)起,所述頁面請(qǐng)求對(duì)應(yīng)的頁面內(nèi)容由對(duì)應(yīng)的第三模塊提供。請(qǐng)求轉(zhuǎn)發(fā)模塊320,用對(duì)于包括第一標(biāo)識(shí)的請(qǐng)求,根據(jù)該請(qǐng)求中的目標(biāo)域名將其轉(zhuǎn)發(fā)至相應(yīng)的第三模塊,并從所述第三模塊獲取響應(yīng)的頁面內(nèi)容。內(nèi)容處理模塊330,用于加載配置模塊的配置文件中對(duì)應(yīng)所述第一標(biāo)識(shí)的配置信息,并根據(jù)所述配置信息對(duì)所述頁面內(nèi)容進(jìn)行處理。頁面返回模塊340,用于返回所述處理后的頁面內(nèi)容。在實(shí)際中,上述模塊一般包括在第二模塊中,所述第二模塊一般為代理模塊,在所述代理模塊中或代理服務(wù)器還包調(diào)度中心模塊,參照?qǐng)D4,調(diào)度中心進(jìn)行系統(tǒng)控制,調(diào)度中心進(jìn)行404/500處理和Cache(高速緩沖存儲(chǔ)器)管理等,調(diào)度中心模塊在獲取到用戶端的請(qǐng)求后,根據(jù)配置,將Handler組合成一個(gè)調(diào)用邏輯流程,調(diào)用前述的請(qǐng)求受理模塊,請(qǐng)求轉(zhuǎn)發(fā)模塊和內(nèi)容處理模塊,最后將代理的頁面返回給用戶端,完成一次代理請(qǐng)求處理過程。其中,頁面返回模塊一般設(shè)置于調(diào)度中心中。同時(shí)代理調(diào)用中心還提供請(qǐng)求處理的基礎(chǔ)服務(wù),如錯(cuò)誤等處理;透明的緩存服務(wù)以提高訪問效率。其中,轉(zhuǎn)發(fā)模塊根據(jù)不用應(yīng)用轉(zhuǎn)發(fā)到相應(yīng)的第三模塊端中。參照?qǐng)D5,其示出了本申請(qǐng)一種優(yōu)選的一種頁面處理系統(tǒng)。本申請(qǐng)可包括至少一個(gè)第一模塊,所述第一模塊一般為第一服務(wù)器,可分別對(duì)應(yīng)不同的站點(diǎn),本申請(qǐng)還可包括至少一個(gè)第三模塊,所述第三模塊為應(yīng)用服務(wù)器,各應(yīng)用服務(wù)器提供不同的網(wǎng)頁內(nèi)容。第一服務(wù)器的用戶端可通過代理服務(wù)器獲取所述至少一個(gè)第三模塊中任何一個(gè)提供的頁面內(nèi)容。各個(gè)第一服務(wù)器發(fā)送的上述頁面請(qǐng)求都由圖中的代理服務(wù)器接收,然后根據(jù)第一服務(wù)器發(fā)送請(qǐng)求中的目標(biāo)域名將其該請(qǐng)求處理轉(zhuǎn)發(fā)至相應(yīng)的第三模塊獲取所述網(wǎng)頁請(qǐng)求對(duì)應(yīng)網(wǎng)頁內(nèi)容,然后在代理服務(wù)器中加載所述頁面請(qǐng)求中第一標(biāo)識(shí)對(duì)應(yīng)的配置信息,對(duì)所述網(wǎng)頁內(nèi)容進(jìn)行處理,最后再由代理服務(wù)器將處理完畢的網(wǎng)頁內(nèi)容返回直至用戶端接收到所述網(wǎng)頁請(qǐng)求。對(duì)于系統(tǒng)實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。本領(lǐng)域普通技術(shù)人員應(yīng)該還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本申請(qǐng)的范圍。結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。以上對(duì)本申請(qǐng)所提供的一種頁面處理方法和裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1