支持內(nèi)容中心網(wǎng)絡(luò)的資源請(qǐng)求處理方法及Web瀏覽器的制造方法
【專利摘要】本發(fā)明公開了一種支持內(nèi)容中心網(wǎng)絡(luò)的請(qǐng)求處理方法及Web瀏覽器,涉及Web應(yīng)用【技術(shù)領(lǐng)域】,本發(fā)明支持瀏覽器在原有TCP/IP協(xié)議上構(gòu)建的Web應(yīng)用的情況下,引入了對(duì)新的內(nèi)容中心網(wǎng)絡(luò)協(xié)議的支持,一方面使瀏覽器在網(wǎng)絡(luò)接入的能力方面得到提升,另一方面瀏覽器對(duì)新協(xié)議的支持,使得運(yùn)行于瀏覽器之上的Web前端技術(shù)可以應(yīng)用于內(nèi)容中心網(wǎng)絡(luò)的Web應(yīng)用開發(fā)上,使得基于內(nèi)容中心網(wǎng)絡(luò)的Web應(yīng)用能夠充分利用內(nèi)容中心網(wǎng)絡(luò)的優(yōu)勢(shì),促進(jìn)傳統(tǒng)網(wǎng)絡(luò)的變革和內(nèi)容中心網(wǎng)絡(luò)的普及,并有效提升用戶的體驗(yàn)。
【專利說(shuō)明】支持內(nèi)容中心網(wǎng)絡(luò)的資源請(qǐng)求處理方法及Web瀏覽器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及Web應(yīng)用【技術(shù)領(lǐng)域】,特別涉及一種支持內(nèi)容中心網(wǎng)絡(luò)的資源請(qǐng)求處理方法及Web瀏覽器。
【背景技術(shù)】
[0002]TCP/IP作為現(xiàn)代互聯(lián)網(wǎng)中最重要的協(xié)議,是互聯(lián)網(wǎng)中被廣泛使用的眾多應(yīng)用層協(xié)議的基礎(chǔ)。隨著互聯(lián)網(wǎng)網(wǎng)絡(luò)服務(wù)的高速發(fā)展,IP網(wǎng)絡(luò)和HTTP等應(yīng)用層協(xié)議,以及網(wǎng)絡(luò)服務(wù)的客戶端載體一瀏覽器,逐漸成為人們?nèi)粘9ぷ骱蜕钪斜夭豢缮俚墓ぞ?,網(wǎng)絡(luò)服務(wù)的形式也在不斷改變。社交網(wǎng)絡(luò)、電子商務(wù)、數(shù)字媒體等新型網(wǎng)絡(luò)服務(wù)的出現(xiàn)與發(fā)展,使內(nèi)容分發(fā)成為互聯(lián)網(wǎng)通信的主流,分發(fā)的內(nèi)容占用了主要的互聯(lián)網(wǎng)流量,這對(duì)于在IP網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)乃俣?、安全方面提出了更高的要求。然而,IP網(wǎng)絡(luò)最初的設(shè)計(jì)目標(biāo)是保證點(diǎn)對(duì)點(diǎn)的通信,數(shù)據(jù)根據(jù)通信的對(duì)端IP進(jìn)行命名,點(diǎn)對(duì)點(diǎn)的通信模型使得在IP網(wǎng)絡(luò)提供內(nèi)容分發(fā)服務(wù)時(shí),存在著帶寬利用率、安全性等方面難以解決的問(wèn)題。為了滿足網(wǎng)絡(luò)服務(wù)對(duì)于現(xiàn)代互聯(lián)網(wǎng)高速、安全方面的需要,一種可用來(lái)取代以IP為中心的網(wǎng)絡(luò)、能夠更好地兼顧網(wǎng)絡(luò)通信及內(nèi)容分發(fā)的新架構(gòu)一內(nèi)容中心網(wǎng)絡(luò)CCN成為一種新型的未來(lái)互聯(lián)網(wǎng)體系架構(gòu)。CCN引入新型結(jié)構(gòu)的興趣包和內(nèi)容包分別作為網(wǎng)絡(luò)的請(qǐng)求包與響應(yīng)包,改變了網(wǎng)絡(luò)數(shù)據(jù)的命名方式、匹配方式、緩存方式和安全驗(yàn)證方式,從設(shè)計(jì)的目的和已有的研究成果來(lái)看,CCN給互聯(lián)網(wǎng)帶來(lái)革命性的改變。而為了更好地向互聯(lián)網(wǎng)用戶提供網(wǎng)絡(luò)服務(wù),支持互聯(lián)網(wǎng)最常用的工具一瀏覽器接入并有效利用CCN是一個(gè)亟待解決的問(wèn)題。
[0003]目前基于CCN提供網(wǎng)絡(luò)服務(wù)的模式主要有兩種類型:一種非網(wǎng)站形式的網(wǎng)絡(luò)應(yīng)用模式,即基于專有客戶端的模式,基于該模式的網(wǎng)絡(luò)應(yīng)用不需要運(yùn)行在瀏覽器之上,但不同的應(yīng)用用戶必須在本地硬盤上進(jìn)行下載、安裝和配置才能正常使用;另一種基于網(wǎng)站形式的網(wǎng)絡(luò)應(yīng)用模式,基于該模式的應(yīng)用需要運(yùn)行于瀏覽器之上,然而由于目前的瀏覽器尚不支持CCN的協(xié)議和特征,需要對(duì)瀏覽器前端技術(shù)進(jìn)行適配開發(fā)并加入代理進(jìn)行必要轉(zhuǎn)換才能實(shí)現(xiàn),故使用的技術(shù)相對(duì)單一,無(wú)法發(fā)揮所有前端技術(shù)的優(yōu)勢(shì),因此應(yīng)用不僅功能受到了限制,并且難以開發(fā)與維護(hù)。
【發(fā)明內(nèi)容】
[0004](一)要解決的技術(shù)問(wèn)題
[0005]本發(fā)明要解決的技術(shù)問(wèn)題是:如何使得Web瀏覽器能夠在其內(nèi)部處理機(jī)制中支持新型的內(nèi)容中心網(wǎng)絡(luò),使得基于Web的應(yīng)用能夠方便的從內(nèi)容中心網(wǎng)絡(luò)中獲取相關(guān)的資源。
[0006](二)技術(shù)方案
[0007]為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種支持內(nèi)容中心網(wǎng)絡(luò)的資源請(qǐng)求處理方法,所述處理方法包括以下步驟:
[0008]S1:接收由網(wǎng)頁(yè)模塊發(fā)送來(lái)的資源請(qǐng)求,并對(duì)所述資源請(qǐng)求的類型進(jìn)行判斷;[0009]S2:當(dāng)所述資源請(qǐng)求為AJAX請(qǐng)求時(shí),則設(shè)置回調(diào)函數(shù);
[0010]S3:根據(jù)所述AJAX請(qǐng)求判斷請(qǐng)求的資源類型,所述資源類型包括:靜態(tài)資源和動(dòng)態(tài)資源;
[0011]S4:生成與所述AJAX請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位;
[0012]S5:向內(nèi)容中心網(wǎng)絡(luò)CCN發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述CCN的響應(yīng);
[0013]S6:接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文;
[0014]S7:提取所述響應(yīng)數(shù)據(jù)包中的響應(yīng)正文,并將提取出的響應(yīng)正文通過(guò)所述回調(diào)函數(shù)發(fā)送至所述網(wǎng)頁(yè)模塊。
[0015]其中,步驟S3包括:
[0016]S301:判斷所述AJAX請(qǐng)求是否為GET請(qǐng)求,若否,則執(zhí)行步驟S302,若是,則執(zhí)行步驟S303 ;
[0017]S302:從存儲(chǔ)設(shè)備中讀取與所述AJAX請(qǐng)求對(duì)應(yīng)的參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,再執(zhí)行步驟S4;
[0018]S303:判斷所述AJAX請(qǐng)求中是否帶有參數(shù),若帶有參數(shù),則從所述AJAX請(qǐng)求中獲取參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,并執(zhí)行步驟S4 ;
[0019]步驟S4包括:
[0020]生成興趣請(qǐng)求包,將獲取的參數(shù)寫入所述興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位。
[0021]其中,當(dāng)所述資源請(qǐng)求為來(lái)自于HTML文檔的標(biāo)簽或者CSS中標(biāo)簽的內(nèi)容資源請(qǐng)求時(shí),則不執(zhí)行步驟S2?S7,直接執(zhí)行步驟S102 ;
[0022]S102:根據(jù)所述內(nèi)容資源請(qǐng)求中的URI協(xié)議頭部來(lái)識(shí)別所用協(xié)議類型,所述協(xié)議類型包括:CCN通信協(xié)議和http網(wǎng)絡(luò)通信協(xié)議;
[0023]S103:根據(jù)所述內(nèi)容資源請(qǐng)求判斷請(qǐng)求的資源類型,所述資源類型包括:靜態(tài)資源和動(dòng)態(tài)資源;
[0024]S104:生成與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位;
[0025]S105:當(dāng)所述協(xié)議類型為CCN通信協(xié)議,則向CCN發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述CCN的響應(yīng);當(dāng)所述協(xié)議類型為http網(wǎng)絡(luò)通信協(xié)議,則向IP網(wǎng)絡(luò)中發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述IP網(wǎng)絡(luò)的響應(yīng);
[0026]S106:接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文;
[0027]S107:解析所述響應(yīng)數(shù)據(jù)包,以獲得所述響應(yīng)頭部中的元數(shù)據(jù);
[0028]S108:將所述元數(shù)據(jù)發(fā)送至所述網(wǎng)頁(yè)模塊;
[0029]S109:接收所述網(wǎng)頁(yè)模塊發(fā)送來(lái)的信息,并判斷所述信息是否為支持資源信息,若是,則繼續(xù)接收響應(yīng)數(shù)據(jù)包,并將所述響應(yīng)數(shù)據(jù)包中的響應(yīng)正文發(fā)送至所述網(wǎng)頁(yè)模塊。
[0030]其中,步驟S109中,在所述信息是不支持的資源信息時(shí),則重復(fù)執(zhí)行步驟S102?106 ;
[0031]解析所述響應(yīng)數(shù)據(jù)包,以獲得所述響應(yīng)正文,并將獲得的響應(yīng)正文保存成文件。
[0032]其中,步驟S103包括:[0033]S1031:判斷所述內(nèi)容資源請(qǐng)求是否為GET請(qǐng)求,若否,則執(zhí)行步驟S1032,若是,則執(zhí)行步驟S1033 ;
[0034]S1032:從存儲(chǔ)設(shè)備中讀取與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,再執(zhí)行步驟S104 ;
[0035]S1033:判斷所述內(nèi)容資源請(qǐng)求中是否帶有參數(shù),若帶有參數(shù),則從所述內(nèi)容資源請(qǐng)求中獲取參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,再執(zhí)行步驟S104 ;若未帶參數(shù),則執(zhí)行步驟S1034 ;
[0036]S1034:將所述內(nèi)容資源請(qǐng)求與請(qǐng)求格式數(shù)據(jù)庫(kù)進(jìn)行匹配,若匹配成功,則將請(qǐng)求的資源類型判斷為靜態(tài)資源,并執(zhí)行步驟S104 ;若匹配不成功,則將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,并執(zhí)行步驟S104 ;
[0037]步驟S104包括:
[0038]生成興趣請(qǐng)求包,將獲取的參數(shù)寫入所述興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位。
[0039]本發(fā)明還公開了一種支持內(nèi)容中心網(wǎng)絡(luò)的Web瀏覽器,所述Web瀏覽器包括:網(wǎng)頁(yè)模塊和網(wǎng)絡(luò)模塊,所述網(wǎng)絡(luò)模塊包括:AJAX適配器、CCN網(wǎng)絡(luò)響應(yīng)處理器和CCN網(wǎng)絡(luò)通信模塊,
[0040]所述AJAX適配器,用于接收由網(wǎng)頁(yè)模塊發(fā)送來(lái)的資源請(qǐng)求,并對(duì)所述資源請(qǐng)求的類型進(jìn)行判斷,當(dāng)所述資源請(qǐng)求為AJAX請(qǐng)求時(shí),則設(shè)置回調(diào)函數(shù);
[0041]所述CCN網(wǎng)絡(luò)響應(yīng)處理器,用于根據(jù)所述AJAX請(qǐng)求判斷請(qǐng)求的資源類型,所述資源類型包括:靜態(tài)資源和動(dòng)態(tài)資源;
[0042]所述CCN網(wǎng)絡(luò)通信模塊,用于生成與所述AJAX請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包;根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位;向CCN發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述CCN的響應(yīng);接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文;提取所述響應(yīng)數(shù)據(jù)包中的響應(yīng)正文;
[0043]所述AJAX適配器,還用于將提取出的響應(yīng)正文通過(guò)所述回調(diào)函數(shù)發(fā)送至所述網(wǎng)頁(yè)模塊。
[0044]其中,所述CCN網(wǎng)絡(luò)響應(yīng)處理器包括:
[0045]請(qǐng)求判斷子模塊,用于判斷所述AJAX請(qǐng)求是否為GET請(qǐng)求;
[0046]參數(shù)讀取子模塊,用于從存儲(chǔ)設(shè)備中讀取與所述AJAX請(qǐng)求對(duì)應(yīng)的參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源;
[0047]參數(shù)判斷子模塊,用于判斷所述AJAX請(qǐng)求中是否帶有參數(shù),若帶有參數(shù),則從所述AJAX請(qǐng)求中獲取參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源;
[0048]所述CCN網(wǎng)絡(luò)通信模塊還包括:
[0049]興趣請(qǐng)求包生成子模塊,用于生成興趣請(qǐng)求包,將獲取的參數(shù)寫入所述興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位。
[0050]其中,所述網(wǎng)絡(luò)模塊還包括:網(wǎng)絡(luò)接入管理器、http響應(yīng)處理器和http實(shí)現(xiàn)模塊,
[0051]所述網(wǎng)絡(luò)接入管理,用于當(dāng)所述資源請(qǐng)求為來(lái)自于HTML文檔的標(biāo)簽或者CSS中標(biāo)簽的內(nèi)容資源請(qǐng)求時(shí),根據(jù)所述內(nèi)容資源請(qǐng)求中的URI協(xié)議頭部來(lái)識(shí)別所用協(xié)議類型,所述協(xié)議類型包括:CCN通信協(xié)議和http網(wǎng)絡(luò)通信協(xié)議;[0052]所述CCN網(wǎng)絡(luò)響應(yīng)處理器,還用于當(dāng)所述協(xié)議類型為CCN通信協(xié)議時(shí),根據(jù)所述內(nèi)容資源請(qǐng)求判斷請(qǐng)求的資源類型,所述資源類型包括:靜態(tài)資源和動(dòng)態(tài)資源;
[0053]所述CCN網(wǎng)絡(luò)通信模塊,還用于當(dāng)所述協(xié)議類型為CCN通信協(xié)議時(shí),生成與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位;向CCN發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述CCN的響應(yīng);接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文;解析所述響應(yīng)數(shù)據(jù)包,以獲得所述響應(yīng)頭部中的元數(shù)據(jù);
[0054]所述CCN網(wǎng)絡(luò)響應(yīng)處理器,還用于將所述元數(shù)據(jù)發(fā)送至所述網(wǎng)頁(yè)模塊;
[0055]所述http響應(yīng)處理器,用于當(dāng)所述協(xié)議類型為http網(wǎng)絡(luò)通信協(xié)議時(shí),根據(jù)所述內(nèi)容資源請(qǐng)求判斷請(qǐng)求的資源類型;
[0056]所述http實(shí)現(xiàn)模塊,用于當(dāng)所述協(xié)議類型為http網(wǎng)絡(luò)通信協(xié)議時(shí),生成與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位;向IP網(wǎng)絡(luò)發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述IP網(wǎng)絡(luò)的響應(yīng);接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文;解析所述響應(yīng)數(shù)據(jù)包,以獲得所述響應(yīng)頭部中的元數(shù)據(jù);
[0057]所述http響應(yīng)處理器,用于將所述元數(shù)據(jù)發(fā)送至所述網(wǎng)頁(yè)模塊;
[0058]所述網(wǎng)絡(luò)接入管理器,還用于接收所述網(wǎng)頁(yè)模塊發(fā)送來(lái)的信息,并判斷所述信息是否為支持資源信息;
[0059]所述CCN網(wǎng)絡(luò)通信模塊和http實(shí)現(xiàn)模塊,還用于當(dāng)所述信息是支持資源信息時(shí),繼續(xù)接收響應(yīng)數(shù)據(jù)包,并將所述響應(yīng)數(shù)據(jù)包中的響應(yīng)正文發(fā)送至所述網(wǎng)頁(yè)模塊。
[0060]其中,所述網(wǎng)絡(luò)模塊還包括:下載管理器;
[0061]所述下載管理器,用于在所述信息是不支持資源信息時(shí),將獲得的響應(yīng)正文保存成文件。
[0062]其中,所述CCN網(wǎng)絡(luò)響應(yīng)處理器和http響應(yīng)處理器均包括:
[0063]請(qǐng)求判斷子模塊,用于判斷所述內(nèi)容資源請(qǐng)求是否為GET請(qǐng)求;
[0064]參數(shù)讀取子模塊,用于從存儲(chǔ)設(shè)備中讀取與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源;
[0065]參數(shù)判斷子模塊,用于判斷所述內(nèi)容資源請(qǐng)求中是否帶有參數(shù),若帶有參數(shù),則從所述內(nèi)容資源請(qǐng)求中獲取參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源;
[0066]格式匹配子模塊,用于將所述內(nèi)容資源請(qǐng)求與請(qǐng)求格式數(shù)據(jù)庫(kù)進(jìn)行匹配,若匹配成功,則將請(qǐng)求的資源類型判斷為靜態(tài)資源;若匹配不成功,則將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源;
[0067]所述CCN網(wǎng)絡(luò)通信模塊還包括:
[0068]興趣請(qǐng)求包生成子模塊,用于生成興趣請(qǐng)求包,將所述獲取的參數(shù)寫入所述興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位。
[0069](三)有益效果
[0070]本發(fā)明支持瀏覽器在原有TCP/IP協(xié)議上構(gòu)建的Web應(yīng)用的情況下,引入了對(duì)新的內(nèi)容中心網(wǎng)絡(luò)協(xié)議的支持,一方面使瀏覽器在網(wǎng)絡(luò)接入的能力方面得到提升,另一方面瀏覽器對(duì)新協(xié)議的支持,使得運(yùn)行于瀏覽器之上的Web前端技術(shù)可以應(yīng)用于內(nèi)容中心網(wǎng)絡(luò)的Web應(yīng)用開發(fā)上,使得基于內(nèi)容中心網(wǎng)絡(luò)的Web應(yīng)用能夠充分利用內(nèi)容中心網(wǎng)絡(luò)的優(yōu)勢(shì),促進(jìn)傳統(tǒng)網(wǎng)絡(luò)的變革和內(nèi)容中心網(wǎng)絡(luò)的普及,并有效提升用戶的體驗(yàn)。[0071]本發(fā)明設(shè)計(jì)過(guò)程和實(shí)現(xiàn)過(guò)程中,盡量保留了原有前端技術(shù)HTML、JavaScript及CSS中用于資源請(qǐng)求的部分的接口,不去影響其原有的使用方式,可以有效地降低開發(fā)基于內(nèi)容中心網(wǎng)絡(luò)的Web應(yīng)用的復(fù)雜度,以及已存在的Web應(yīng)用由TCP/IP網(wǎng)絡(luò)向內(nèi)容中心網(wǎng)絡(luò)遷移的難度。
【專利附圖】
【附圖說(shuō)明】
[0072]圖1是本發(fā)明一種實(shí)施方式的支持內(nèi)容中心網(wǎng)絡(luò)的請(qǐng)求處理方法的流程圖;
[0073]圖2是傳統(tǒng)瀏覽器的總體構(gòu)架;
[0074]圖3是本發(fā)明一種實(shí)施方式的支持內(nèi)容中心網(wǎng)絡(luò)的Web瀏覽器的結(jié)構(gòu)框圖?!揪唧w實(shí)施方式】
[0075]下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的【具體實(shí)施方式】作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。
[0076]圖1是本發(fā)明一種實(shí)施例的支持內(nèi)容中心網(wǎng)絡(luò)的請(qǐng)求處理方法的流程圖;參照?qǐng)D1,所述處理方法包括以下步驟:
[0077]S1:接收由網(wǎng)頁(yè)模塊發(fā)送來(lái)的資源請(qǐng)求,并對(duì)所述資源請(qǐng)求的類型進(jìn)行判斷;
[0078]S2:當(dāng)所述資源請(qǐng)求為AJAX請(qǐng)求時(shí),則設(shè)置回調(diào)函數(shù);
[0079]S3:根據(jù)所述AJAX請(qǐng)求判斷請(qǐng)求的資源類型,所述資源類型包括:靜態(tài)資源和動(dòng)態(tài)資源;
[0080]本步驟中,動(dòng)態(tài)資源指需要經(jīng)過(guò)服務(wù)器動(dòng)態(tài)生成的資源,隨著請(qǐng)求的參數(shù)的不同會(huì)有所不同,如查詢數(shù)據(jù);而靜態(tài)資源指不會(huì)改變的資源,如圖片、音頻、視頻等。在內(nèi)容中心網(wǎng)絡(luò)中,動(dòng)態(tài)資源請(qǐng)求往往需要從服務(wù)器中得到正確的響應(yīng)數(shù)據(jù),而靜態(tài)資源只需從中間路由中獲取緩存。本瀏覽器將帶參數(shù)的資源請(qǐng)求視為動(dòng)態(tài)資源請(qǐng)求,包括帶問(wèn)號(hào)的URI對(duì)應(yīng)的資源請(qǐng)求、表單發(fā)出的資源請(qǐng)求以及通過(guò)AJAX參數(shù)設(shè)置為動(dòng)態(tài)的AJAX請(qǐng)求,該類請(qǐng)求必須由服務(wù)器產(chǎn)生響應(yīng)。而將其余的請(qǐng)求視為靜態(tài)資源請(qǐng)求,該類請(qǐng)求的響應(yīng)可以直接由中間路由返回。
[0081]S4:生成與所述AJAX請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位;
[0082]本步驟中,為完成從傳統(tǒng)的前端技術(shù)對(duì)內(nèi)容中心網(wǎng)絡(luò)的適配,在向內(nèi)容中心網(wǎng)絡(luò)發(fā)送興趣請(qǐng)求包之前,根據(jù)內(nèi)容中心網(wǎng)絡(luò)協(xié)議的特性,為充分內(nèi)容中心網(wǎng)絡(luò)中緩存的作用,瀏覽器會(huì)給靜態(tài)資源和動(dòng)態(tài)資源的興趣請(qǐng)求包設(shè)置了不同的標(biāo)志位,以控制響應(yīng)的來(lái)源。
[0083]S5:向CCN發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述CCN的響應(yīng);
[0084]S6:接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文;
[0085]S7:提取所述響應(yīng)數(shù)據(jù)包中的響應(yīng)正文,并將提取出的響應(yīng)正文通過(guò)所述回調(diào)函數(shù)發(fā)送至所述網(wǎng)頁(yè)模塊。
[0086]由于AJAX請(qǐng)求可分為GET請(qǐng)求和POST請(qǐng)求,并且由于AJAX請(qǐng)求為GET請(qǐng)求時(shí),必然會(huì)具有參數(shù)(即需搜索的關(guān)鍵詞等信息),為便于將請(qǐng)求的資源進(jìn)行分類,優(yōu)選地,步驟S3包括:
[0087]S301:判斷所述AJAX請(qǐng)求是否為GET請(qǐng)求,若否,則執(zhí)行步驟S302,若是,則執(zhí)行步驟S303 ;
[0088]S302:從存儲(chǔ)設(shè)備中讀取與所述AJAX請(qǐng)求對(duì)應(yīng)的參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,再執(zhí)行步驟S4;
[0089]S303:判斷所述AJAX請(qǐng)求中是否帶有參數(shù),若帶有參數(shù),則從所述AJAX請(qǐng)求中獲取參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,并執(zhí)行步驟S4 ;
[0090]步驟S4包括:
[0091]生成興趣請(qǐng)求包,將獲取的參數(shù)寫入所述興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位。
[0092]為便于對(duì)內(nèi)容資源請(qǐng)求進(jìn)行處理,優(yōu)選地,當(dāng)所述資源請(qǐng)求為來(lái)自于HTML文檔的標(biāo)簽或者CSS中標(biāo)簽的內(nèi)容資源請(qǐng)求時(shí),則不執(zhí)行步驟S2?S7,直接執(zhí)行步驟S102 ;
[0093]S102:根據(jù)所述內(nèi)容資源請(qǐng)求中的URI協(xié)議頭部來(lái)識(shí)別所用協(xié)議類型,所述協(xié)議類型包括:CCN通信協(xié)議和http網(wǎng)絡(luò)通信協(xié)議;
[0094]S103:根據(jù)所述內(nèi)容資源請(qǐng)求判斷請(qǐng)求的資源類型,所述資源類型包括:靜態(tài)資源和動(dòng)態(tài)資源;
[0095]S104:生成與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位;
[0096]S105:當(dāng)所述協(xié)議類型為CCN通信協(xié)議,則向CCN發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述CCN的響應(yīng);當(dāng)所述協(xié)議類型為http網(wǎng)絡(luò)通信協(xié)議,則向IP網(wǎng)絡(luò)中發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述IP網(wǎng)絡(luò)的響應(yīng);
[0097]S106:接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文;
[0098]S107:解析所述響應(yīng)數(shù)據(jù)包,以獲得所述響應(yīng)頭部中的元數(shù)據(jù);
[0099]S108:將所述元數(shù)據(jù)發(fā)送至所述網(wǎng)頁(yè)模塊;
[0100]S109:接收所述網(wǎng)頁(yè)模塊發(fā)送來(lái)的信息,并判斷所述信息是否為支持資源信息,若是,則繼續(xù)接收響應(yīng)數(shù)據(jù)包,并將所述響應(yīng)數(shù)據(jù)包中的響應(yīng)正文發(fā)送至所述網(wǎng)頁(yè)模塊。
[0101]為便于對(duì)網(wǎng)頁(yè)模塊不支持的資源進(jìn)行請(qǐng)求,優(yōu)選地,步驟S109中,在所述信息是不支持資源信息時(shí),則重復(fù)執(zhí)行步驟S102?106 ;
[0102]解析所述響應(yīng)數(shù)據(jù)包,以獲得所述響應(yīng)正文,并將獲得的響應(yīng)正文保存成文件。
[0103]由于內(nèi)容資源請(qǐng)求可分為GET請(qǐng)求和POST請(qǐng)求,并且由于內(nèi)容資源請(qǐng)求為GET請(qǐng)求時(shí),可能帶有參數(shù)也可能不帶有參數(shù),為便于將請(qǐng)求的資源進(jìn)行分類,優(yōu)選地,步驟S103包括:
[0104]S1031:判斷所述內(nèi)容資源請(qǐng)求是否為GET請(qǐng)求,若否,則執(zhí)行步驟S1032,若是,則執(zhí)行步驟S1033 ;
[0105]S1032:從存儲(chǔ)設(shè)備中讀取與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,再執(zhí)行步驟S104 ;
[0106]S1033:判斷所述內(nèi)容資源請(qǐng)求中是否帶有參數(shù),若帶有參數(shù),則從所述內(nèi)容資源請(qǐng)求中獲取參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,再執(zhí)行步驟S104 ;若未帶參數(shù),則執(zhí)行步驟S1034 ;
[0107]S1034:將所述內(nèi)容資源請(qǐng)求與請(qǐng)求格式數(shù)據(jù)庫(kù)進(jìn)行匹配,若匹配成功,則將請(qǐng)求的資源類型判斷為靜態(tài)資源,并執(zhí)行步驟S104 ;若匹配不成功,則將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,并執(zhí)行步驟S104 ;
[0108]步驟S104包括:
[0109]生成興趣請(qǐng)求包,將獲取的參數(shù)寫入所述興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位。
[0110]參照?qǐng)D2,瀏覽器內(nèi)核是Web瀏覽器的核心,是所有Web瀏覽器必須具備的組件,包含加載引擎、解析引擎、渲染引擎等,主要負(fù)責(zé)HTML、CSS及其他多媒體資源的加載、解析和渲染,該組件一般具有平臺(tái)無(wú)關(guān)性,并向外提供接口以支持平臺(tái)相關(guān)的開發(fā)及用戶界面的定制。用戶界面,是包含多個(gè)控件的圖形界面,負(fù)責(zé)網(wǎng)頁(yè)的展示以及與用戶的交互,一般具有地址欄、前進(jìn)/后退按鈕、刷新按鈕等常用控件,它是對(duì)界面/內(nèi)核交互接口的實(shí)現(xiàn)。JS解釋器負(fù)責(zé)JavaScript的解析及執(zhí)行。另外,瀏覽器具備許多與平臺(tái)相關(guān)的組件,如網(wǎng)絡(luò),圖形、音/視頻、存儲(chǔ)等組件,這類組件一般基于具體的平臺(tái)庫(kù),并為瀏覽器的功能提供支持,是負(fù)責(zé)與具體平臺(tái)進(jìn)行交互的平臺(tái)交互接口的實(shí)現(xiàn)。由圖中可知,本
【發(fā)明內(nèi)容】
中心瀏覽器與已有瀏覽器最大的區(qū)別體現(xiàn)在瀏覽器的網(wǎng)絡(luò)組件,本發(fā)明在網(wǎng)絡(luò)組件支持HTTP的基礎(chǔ)上,向網(wǎng)絡(luò)組件中加入了對(duì)于內(nèi)容中心網(wǎng)絡(luò)協(xié)議的支持,使瀏覽器同時(shí)支持從TCP/IP網(wǎng)絡(luò)和內(nèi)容中心網(wǎng)絡(luò)上獲取資源。
[0111]本發(fā)明還公開了一種支持內(nèi)容中心網(wǎng)絡(luò)的Web瀏覽器,參照?qǐng)D3,與圖2對(duì)應(yīng),本發(fā)明具體實(shí)現(xiàn)的模塊中,包含了用戶界面組件對(duì)應(yīng)的界面模塊及網(wǎng)絡(luò)組件對(duì)應(yīng)的網(wǎng)絡(luò)模塊,而將內(nèi)核組件及其他與網(wǎng)絡(luò)無(wú)關(guān)的組件封裝到網(wǎng)頁(yè)模塊之中,網(wǎng)頁(yè)的具體呈現(xiàn)以及內(nèi)核與界面的交互則被封閉至網(wǎng)絡(luò)視圖模塊中,本實(shí)施方式的Web瀏覽器包括:網(wǎng)頁(yè)模塊和網(wǎng)絡(luò)模塊,所述網(wǎng)絡(luò)模塊包括=AJAX適配器、CCN網(wǎng)絡(luò)響應(yīng)處理器和CCN網(wǎng)絡(luò)通信模塊,
[0112]所述網(wǎng)頁(yè)模塊先設(shè)置管理AJAX請(qǐng)求的AJAX適配器,再執(zhí)行JavaScript,最后向AJAX適配器發(fā)出AJAX請(qǐng)求;
[0113]所述AJAX適配器,用于接收由網(wǎng)頁(yè)模塊發(fā)送來(lái)的資源請(qǐng)求,并對(duì)所述資源請(qǐng)求的類型進(jìn)行判斷,當(dāng)所述資源請(qǐng)求為AJAX請(qǐng)求時(shí),則設(shè)置回調(diào)函數(shù);
[0114]所述CCN網(wǎng)絡(luò)響應(yīng)處理器,用于根據(jù)所述AJAX請(qǐng)求判斷請(qǐng)求的資源類型,所述資源類型包括:靜態(tài)資源和動(dòng)態(tài)資源;
[0115]所述CCN網(wǎng)絡(luò)通信模塊,用于生成與所述AJAX請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包;根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位;向CCN發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述CCN的響應(yīng);接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文;提取所述響應(yīng)數(shù)據(jù)包中的響應(yīng)正文;
[0116]所述AJAX適配器,還用于將提取出的響應(yīng)正文通過(guò)所述回調(diào)函數(shù)發(fā)送至所述網(wǎng)頁(yè)模塊(所述網(wǎng)頁(yè)模塊的JavaScript層接收所述響應(yīng)正文)。
[0117]優(yōu)選地,所述CCN網(wǎng)絡(luò)響應(yīng)處理器包括:
[0118]請(qǐng)求判斷子模塊,用于判斷所述AJAX請(qǐng)求是否為GET請(qǐng)求;
[0119]參數(shù)讀取子模塊,用于從存儲(chǔ)設(shè)備中讀取與所述AJAX請(qǐng)求對(duì)應(yīng)的參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源;
[0120]參數(shù)判斷子模塊,用于判斷所述AJAX請(qǐng)求中是否帶有參數(shù),若帶有參數(shù),則從所述AJAX請(qǐng)求中獲取參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源;
[0121 ] 所述CCN網(wǎng)絡(luò)通信模塊還包括:[0122]興趣請(qǐng)求包生成子模塊,用于生成興趣請(qǐng)求包,將獲取的參數(shù)寫入所述興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位。
[0123]優(yōu)選地,所述網(wǎng)絡(luò)模塊還包括:網(wǎng)絡(luò)接入管理器、http響應(yīng)處理器和http實(shí)現(xiàn)模塊;
[0124]網(wǎng)頁(yè)模塊設(shè)置網(wǎng)絡(luò)接入管理器,并且所述網(wǎng)頁(yè)模塊中的加載引擎將內(nèi)容資源請(qǐng)求傳遞給網(wǎng)絡(luò)接入管理器;
[0125]所述網(wǎng)絡(luò)接入管理,用于當(dāng)所述資源請(qǐng)求為來(lái)自于HTML文檔的標(biāo)簽或者CSS中標(biāo)簽的內(nèi)容資源請(qǐng)求時(shí),根據(jù)所述內(nèi)容資源請(qǐng)求中的URI協(xié)議頭部來(lái)識(shí)別所用協(xié)議類型,所述協(xié)議類型包括:CCN通信協(xié)議和http網(wǎng)絡(luò)通信協(xié)議;
[0126]所述CCN網(wǎng)絡(luò)響應(yīng)處理器,還用于當(dāng)所述協(xié)議類型為CCN通信協(xié)議時(shí),根據(jù)所述內(nèi)容資源請(qǐng)求判斷請(qǐng)求的資源類型,所述資源類型包括:靜態(tài)資源和動(dòng)態(tài)資源;
[0127]所述CCN網(wǎng)絡(luò)通信模塊,還用于當(dāng)所述協(xié)議類型為CCN通信協(xié)議時(shí),生成與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位;向CCN發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述CCN的響應(yīng);接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文;解析所述響應(yīng)數(shù)據(jù)包,以獲得所述響應(yīng)頭部中的元數(shù)據(jù);
[0128]所述CCN網(wǎng)絡(luò)響應(yīng)處理器,還用于將所述元數(shù)據(jù)發(fā)送至所述網(wǎng)頁(yè)模塊;
[0129]所述http響應(yīng)處理器,用于當(dāng)所述協(xié)議類型為http網(wǎng)絡(luò)通信協(xié)議時(shí),根據(jù)所述內(nèi)容資源請(qǐng)求判斷請(qǐng)求的資源類型;
[0130]所述http實(shí)現(xiàn)模塊,用于當(dāng)所述協(xié)議類型為http網(wǎng)絡(luò)通信協(xié)議時(shí),生成與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位;向IP網(wǎng)絡(luò)發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述IP網(wǎng)絡(luò)的響應(yīng);接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文;解析所述響應(yīng)數(shù)據(jù)包,以獲得所述響應(yīng)頭部中的元數(shù)據(jù);
[0131]所述http響應(yīng)處理器,還用于當(dāng)所述協(xié)議類型為http網(wǎng)絡(luò)通信協(xié)議時(shí),將所述元數(shù)據(jù)發(fā)送至所述網(wǎng)頁(yè)模塊;
[0132]所述網(wǎng)絡(luò)模塊接收到所述元數(shù)據(jù)后,根據(jù)所述元數(shù)據(jù)判斷是否支持所請(qǐng)求的資源,若不支持,則向所述網(wǎng)絡(luò)接入管理器發(fā)送不支持資源消息,若支持,向所述網(wǎng)絡(luò)接入管理器發(fā)送支持資源消息;
[0133]所述網(wǎng)絡(luò)接入管理器,還用于接收所述網(wǎng)頁(yè)模塊發(fā)送來(lái)的信息,并判斷所述信息是否為支持資源信息;
[0134]所述CCN網(wǎng)絡(luò)通信模塊和http實(shí)現(xiàn)模塊,還用于當(dāng)所述信息是支持資源信息時(shí),繼續(xù)接收響應(yīng)數(shù)據(jù)包,并將所述響應(yīng)數(shù)據(jù)包中的響應(yīng)正文發(fā)送至所述網(wǎng)頁(yè)模塊(所述網(wǎng)頁(yè)模塊接收響應(yīng)正文后,進(jìn)行解析、渲染)。
[0135]優(yōu)選地,所述網(wǎng)絡(luò)模塊還包括:下載管理器;
[0136]所述下載管理器,用于在所述信息是不支持資源信息時(shí),將獲得的響應(yīng)正文保存成文件。
[0137]優(yōu)選地,所述CCN網(wǎng)絡(luò)響應(yīng)處理器和http響應(yīng)處理器均包括:
[0138]請(qǐng)求判斷子模塊,用于判斷所述內(nèi)容資源請(qǐng)求是否為GET請(qǐng)求;
[0139]參數(shù)讀取子模塊,用于從存儲(chǔ)設(shè)備中讀取與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源;[0140]參數(shù)判斷子模塊,用于判斷所述內(nèi)容資源請(qǐng)求中是否帶有參數(shù),若帶有參數(shù),則從所述內(nèi)容資源請(qǐng)求中獲取參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源;
[0141]格式匹配子模塊,用于將所述內(nèi)容資源請(qǐng)求與請(qǐng)求格式數(shù)據(jù)庫(kù)進(jìn)行匹配,若匹配成功,則將請(qǐng)求的資源類型判斷為靜態(tài)資源;若匹配不成功,則將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源;
[0142]所述CCN網(wǎng)絡(luò)通信模塊還包括:
[0143]興趣請(qǐng)求包生成子模塊,用于生成興趣請(qǐng)求包,將所述獲取的參數(shù)寫入所述興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位。
[0144]本實(shí)施方式中的Web瀏覽器不僅為用戶提供了一個(gè)接入內(nèi)容中心網(wǎng)絡(luò)的工具,同時(shí)保持了傳統(tǒng)瀏覽器所具有的便捷的網(wǎng)絡(luò)應(yīng)用開發(fā)接口,參照表1。它保持了 HTML、CSS和JavaScript的基本語(yǔ)法,使得開發(fā)面向內(nèi)容中心網(wǎng)絡(luò)的Web應(yīng)用時(shí)可以使用原有的HTML,CSS和JavaScript協(xié)作的開發(fā)模式。該套開發(fā)接口不但可以幫助開發(fā)者開發(fā)的網(wǎng)絡(luò)應(yīng)用從內(nèi)容中心網(wǎng)絡(luò)上獲取其所需的數(shù)據(jù),而且為內(nèi)容中心網(wǎng)絡(luò)應(yīng)用呈現(xiàn)普通文本、HTML文件、CSS文件、JavaScript文件及圖片、音/視頻等多媒體資源提供了支持。
[0145]表1Web瀏覽器的應(yīng)用開發(fā)接口
[0146]
【權(quán)利要求】
1.一種支持內(nèi)容中心網(wǎng)絡(luò)的資源請(qǐng)求處理方法,其特征在于,所述處理方法包括以下步驟: 51:接收由網(wǎng)頁(yè)模塊發(fā)送來(lái)的資源請(qǐng)求,并對(duì)所述資源請(qǐng)求的類型進(jìn)行判斷; 52:當(dāng)所述資源請(qǐng)求為AJAX請(qǐng)求時(shí),則設(shè)置回調(diào)函數(shù); 53:根據(jù)所述AJAX請(qǐng)求判斷請(qǐng)求的資源類型,所述資源類型包括:靜態(tài)資源和動(dòng)態(tài)資源; 54:生成與所述AJAX請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位; 55:向內(nèi)容中心網(wǎng)絡(luò)CCN發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述CCN的響應(yīng); 56:接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文; S7:提取所述響應(yīng)數(shù)據(jù)包中的響應(yīng)正文,并將提取出的響應(yīng)正文通過(guò)所述回調(diào)函數(shù)發(fā)送至所述網(wǎng)頁(yè)模塊。
2.如權(quán)利要求1所述的處理方法,其特征在于,步驟S3包括: 5301:判斷所述AJAX請(qǐng)求是否為GET請(qǐng)求,若否,則執(zhí)行步驟S302,若是,則執(zhí)行步驟S303 ; 5302:從存儲(chǔ)設(shè)備中讀 取與所述AJAX請(qǐng)求對(duì)應(yīng)的參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,再執(zhí)行步驟S4; 5303:判斷所述AJAX請(qǐng)求中是否帶有參數(shù),若帶有參數(shù),則從所述AJAX請(qǐng)求中獲取參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,并執(zhí)行步驟S4 ; 步驟S4包括: 生成興趣請(qǐng)求包,將獲取的參數(shù)寫入所述興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位。
3.如權(quán)利要求1所述的處理方法,其特征在于,當(dāng)所述資源請(qǐng)求為來(lái)自于HTML文檔的標(biāo)簽或者CSS中標(biāo)簽的內(nèi)容資源請(qǐng)求時(shí),則不執(zhí)行步驟S2~S7,直接執(zhí)行步驟S102 ; 5102:根據(jù)所述內(nèi)容資源請(qǐng)求中的URI協(xié)議頭部來(lái)識(shí)別所用協(xié)議類型,所述協(xié)議類型包括:CCN通信協(xié)議和http網(wǎng)絡(luò)通信協(xié)議; 5103:根據(jù)所述內(nèi)容資源請(qǐng)求判斷請(qǐng)求的資源類型,所述資源類型包括:靜態(tài)資源和動(dòng)態(tài)資源; 5104:生成與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位; 5105:當(dāng)所述協(xié)議類型為CCN通信協(xié)議,則向CCN發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述CCN的響應(yīng);當(dāng)所述協(xié)議類型為http網(wǎng)絡(luò)通信協(xié)議,則向IP網(wǎng)絡(luò)中發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述IP網(wǎng)絡(luò)的響應(yīng); 5106:接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文; 5107:解析所述響應(yīng)數(shù)據(jù)包,以獲得所述響應(yīng)頭部中的元數(shù)據(jù); 5108:將所述元數(shù)據(jù)發(fā)送至所述網(wǎng)頁(yè)模塊; S109:接收所述網(wǎng)頁(yè)模塊發(fā)送來(lái)的信息,并判斷所述信息是否為支持資源信息,若是,則繼續(xù)接收響應(yīng)數(shù)據(jù)包,并將所述響應(yīng)數(shù)據(jù)包中的響應(yīng)正文發(fā)送至所述網(wǎng)頁(yè)模塊。
4.如權(quán)利要求3所述的處理方法,其特征在于,步驟S109中,在所述信息是不支持的資源信息時(shí),則重復(fù)執(zhí)行步驟S102~106 ; 解析所述響應(yīng)數(shù)據(jù)包,以獲得所述響應(yīng)正文,并將獲得的響應(yīng)正文保存成文件。
5.如權(quán)利要求3所述的處理方法,其特征在于,步驟S103包括: 51031:判斷所述內(nèi)容資源請(qǐng)求是否為GET請(qǐng)求,若否,則執(zhí)行步驟S1032,若是,則執(zhí)行步驟S1033 ; 51032:從存儲(chǔ)設(shè)備中讀取與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,再執(zhí)行步驟S104 ; S1033:判斷所述內(nèi)容資源請(qǐng)求中是否帶有參數(shù),若帶有參數(shù),則從所述內(nèi)容資源請(qǐng)求中獲取參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,再執(zhí)行步驟S104 ;若未帶參數(shù),則執(zhí)行步驟S1034 ; S1034:將所述內(nèi)容資源請(qǐng)求與請(qǐng)求格式數(shù)據(jù)庫(kù)進(jìn)行匹配,若匹配成功,則將請(qǐng)求的資源類型判斷為靜態(tài)資源,并執(zhí)行步驟S104 ;若匹配不成功,則將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源,并執(zhí)行步驟S104; 步驟S104包括: 生成興趣請(qǐng)求包,將獲取的參數(shù)寫入所述興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位。
6.一種支持內(nèi)容中心網(wǎng)絡(luò)的Web瀏覽器,其特征在于,所述Web瀏覽器包括:網(wǎng)頁(yè)模塊和網(wǎng)絡(luò)模塊,所述網(wǎng)絡(luò)模塊包括:AJAX適配器、CCN網(wǎng)絡(luò)響應(yīng)處理器和CCN網(wǎng)絡(luò)通信模塊, 所述AJAX適配器,用于接收由網(wǎng)頁(yè)模塊發(fā)送來(lái)的資源請(qǐng)求,并對(duì)所述資源請(qǐng)求的類型進(jìn)行判斷,當(dāng)所述資源請(qǐng)求為AJAX請(qǐng)求時(shí),則設(shè)置回調(diào)函數(shù); 所述CCN網(wǎng)絡(luò)響應(yīng)處理器,用于根據(jù)所述AJAX請(qǐng)求判斷請(qǐng)求的資源類型,所述資源類型包括:靜態(tài)資源和動(dòng)態(tài)資源; 所述CCN網(wǎng)絡(luò)通信模塊,用于生成與所述AJAX請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包;根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位;向CCN發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述CCN的響應(yīng);接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文;提取所述響應(yīng)數(shù)據(jù)包中的響應(yīng)正文; 所述AJAX適配器,還用于將提取出的響應(yīng)正文通過(guò)所述回調(diào)函數(shù)發(fā)送至所述網(wǎng)頁(yè)模塊。
7.如權(quán)利要求6所述的Web瀏覽器,其特征在于,所述CCN網(wǎng)絡(luò)響應(yīng)處理器包括: 請(qǐng)求判斷子模塊,用于判斷所述AJAX請(qǐng)求是否為GET請(qǐng)求; 參數(shù)讀取子模塊,用于從存儲(chǔ)設(shè)備中讀取與所述AJAX請(qǐng)求對(duì)應(yīng)的參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源; 參數(shù)判斷子模塊,用于判斷所述AJAX請(qǐng)求中是否帶有參數(shù),若帶有參數(shù),則從所述AJAX請(qǐng)求中獲取參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源; 所述CCN網(wǎng)絡(luò)通信模塊還包括: 興趣請(qǐng)求包生成子模塊,用于生成興趣請(qǐng)求包,將獲取的參數(shù)寫入所述興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位。
8.如權(quán)利要求6所述的Web瀏覽器,其特征在于,所述網(wǎng)絡(luò)模塊還包括:網(wǎng)絡(luò)接入管理器、http響應(yīng)處理器和http實(shí)現(xiàn)模塊,所述網(wǎng)絡(luò)接入管理,用于當(dāng)所述資源請(qǐng)求為來(lái)自于HTML文檔的標(biāo)簽或者CSS中標(biāo)簽的內(nèi)容資源請(qǐng)求時(shí),根據(jù)所述內(nèi)容資源請(qǐng)求中的URI協(xié)議頭部來(lái)識(shí)別所用協(xié)議類型,所述協(xié)議類型包括:CCN通信協(xié)議和http網(wǎng)絡(luò)通信協(xié)議; 所述CCN網(wǎng)絡(luò)響應(yīng)處理器,還用于當(dāng)所述協(xié)議類型為CCN通信協(xié)議時(shí),根據(jù)所述內(nèi)容資源請(qǐng)求判斷請(qǐng)求的資源類型,所述資源類型包括:靜態(tài)資源和動(dòng)態(tài)資源; 所述CCN網(wǎng)絡(luò)通信模塊,還用于當(dāng)所述協(xié)議類型為CCN通信協(xié)議時(shí),生成與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位;向CCN發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述CCN的響應(yīng);接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文;解析所述響應(yīng)數(shù)據(jù)包,以獲得所述響應(yīng)頭部中的元數(shù)據(jù); 所述CCN網(wǎng)絡(luò)響應(yīng)處理器,還用于將所述元數(shù)據(jù)發(fā)送至所述網(wǎng)頁(yè)模塊; 所述http響應(yīng)處理器,用于當(dāng)所述協(xié)議類型為http網(wǎng)絡(luò)通信協(xié)議時(shí),根據(jù)所述內(nèi)容資源請(qǐng)求判斷請(qǐng)求的資源類型; 所述http實(shí)現(xiàn)模塊,用于當(dāng)所述協(xié)議類型為http網(wǎng)絡(luò)通信協(xié)議時(shí),生成與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位;向IP網(wǎng)絡(luò)發(fā)送所述興趣請(qǐng)求包,并監(jiān)聽所述IP網(wǎng)絡(luò)的響應(yīng);接收響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包包括:響應(yīng)頭部和響應(yīng)正文;解析所述響應(yīng)數(shù)據(jù)包,以獲得所述響應(yīng)頭部中的元數(shù)據(jù); 所述http響應(yīng)處理器,用于將所述元數(shù)據(jù)發(fā)送至所述網(wǎng)頁(yè)模塊; 所述網(wǎng)絡(luò)接入管理器,還用于接收所述網(wǎng)頁(yè)模塊發(fā)送來(lái)的信息,并判斷所述信息是否為支持資源信息; 所述CCN網(wǎng)絡(luò)通信模塊和http實(shí)現(xiàn)模塊,還用于當(dāng)所述信息是支持資源信息時(shí),繼續(xù)接收響應(yīng)數(shù)據(jù)包,并將所述響應(yīng)數(shù)據(jù)包中的響應(yīng)正文發(fā)送至所述網(wǎng)頁(yè)模塊。
9.如權(quán)利要求8所述的Web瀏覽器,其特征在于,所述網(wǎng)絡(luò)模塊還包括:下載管理器; 所述下載管理器,用于在所述信息是不支持資源信息時(shí),將獲得的響應(yīng)正文保存成文件。
10.如權(quán)利要求8所述的Web瀏覽器,其特征在于,所述CCN網(wǎng)絡(luò)響應(yīng)處理器和http響應(yīng)處理器均包括: 請(qǐng)求判斷子模塊,用于判斷所述內(nèi)容資源請(qǐng)求是否為GET請(qǐng)求; 參數(shù)讀取子模塊,用于從存儲(chǔ)設(shè)備中讀取與所述內(nèi)容資源請(qǐng)求對(duì)應(yīng)的參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源; 參數(shù)判斷子模塊,用于判斷所述內(nèi)容資源請(qǐng)求中是否帶有參數(shù),若帶有參數(shù),則從所述內(nèi)容資源請(qǐng)求中獲取參數(shù),并將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源; 格式匹配子模塊,用于將所述內(nèi)容資源請(qǐng)求與請(qǐng)求格式數(shù)據(jù)庫(kù)進(jìn)行匹配,若匹配成功,則將請(qǐng)求的資源類型判斷為靜態(tài)資源;若匹配不成功,則將請(qǐng)求的資源類型判斷為動(dòng)態(tài)資源; 所述CCN網(wǎng)絡(luò)通信模塊還包括: 興趣請(qǐng)求包生成子模塊,用于生成興趣請(qǐng)求包,將所述獲取的參數(shù)寫入所述興趣請(qǐng)求包,并根據(jù)所述資源類型調(diào)整所述興趣請(qǐng)求包內(nèi)的標(biāo)志位。
【文檔編號(hào)】H04L29/08GK103701910SQ201310744978
【公開日】2014年4月2日 申請(qǐng)日期:2013年12月30日 優(yōu)先權(quán)日:2013年12月30日
【發(fā)明者】喬秀全, 陳俊亮, 彭悅 申請(qǐng)人:北京郵電大學(xué)