CN103701910B - 支持内容中心网络的资源请求处理方法及Web浏览器 - Google Patents
支持内容中心网络的资源请求处理方法及Web浏览器 Download PDFInfo
- Publication number
- CN103701910B CN103701910B CN201310744978.4A CN201310744978A CN103701910B CN 103701910 B CN103701910 B CN 103701910B CN 201310744978 A CN201310744978 A CN 201310744978A CN 103701910 B CN103701910 B CN 103701910B
- Authority
- CN
- China
- Prior art keywords
- request
- resource
- response
- type
- ccn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种支持内容中心网络的请求处理方法及Web浏览器,涉及Web应用技术领域,本发明支持浏览器在原有TCP/IP协议上构建的Web应用的情况下,引入了对新的内容中心网络协议的支持,一方面使浏览器在网络接入的能力方面得到提升,另一方面浏览器对新协议的支持,使得运行于浏览器之上的Web前端技术可以应用于内容中心网络的Web应用开发上,使得基于内容中心网络的Web应用能够充分利用内容中心网络的优势,促进传统网络的变革和内容中心网络的普及,并有效提升用户的体验。
Description
技术领域
本发明涉及Web应用技术领域,特别涉及一种支持内容中心网络的资源请求处理方法及Web浏览器。
背景技术
TCP/IP作为现代互联网中最重要的协议,是互联网中被广泛使用的众多应用层协议的基础。随着互联网网络服务的高速发展,IP网络和HTTP等应用层协议,以及网络服务的客户端载体—浏览器,逐渐成为人们日常工作和生活中必不可少的工具,网络服务的形式也在不断改变。社交网络、电子商务、数字媒体等新型网络服务的出现与发展,使内容分发成为互联网通信的主流,分发的内容占用了主要的互联网流量,这对于在IP网络数据传输的速度、安全方面提出了更高的要求。然而,IP网络最初的设计目标是保证点对点的通信,数据根据通信的对端IP进行命名,点对点的通信模型使得在IP网络提供内容分发服务时,存在着带宽利用率、安全性等方面难以解决的问题。为了满足网络服务对于现代互联网高速、安全方面的需要,一种可用来取代以IP为中心的网络、能够更好地兼顾网络通信及内容分发的新架构—内容中心网络CCN成为一种新型的未来互联网体系架构。CCN引入新型结构的兴趣包和内容包分别作为网络的请求包与响应包,改变了网络数据的命名方式、匹配方式、缓存方式和安全验证方式,从设计的目的和已有的研究成果来看,CCN给互联网带来革命性的改变。而为了更好地向互联网用户提供网络服务,支持互联网最常用的工具--浏览器接入并有效利用CCN是一个亟待解决的问题。
目前基于CCN提供网络服务的模式主要有两种类型:一种非网站形式的网络应用模式,即基于专有客户端的模式,基于该模式的网络应用不需要运行在浏览器之上,但不同的应用用户必须在本地硬盘上进行下载、安装和配置才能正常使用;另一种基于网站形式的网络应用模式,基于该模式的应用需要运行于浏览器之上,然而由于目前的浏览器尚不支持CCN的协议和特征,需要对浏览器前端技术进行适配开发并加入代理进行必要转换才能实现,故使用的技术相对单一,无法发挥所有前端技术的优势,因此应用不仅功能受到了限制,并且难以开发与维护。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何使得Web浏览器能够在其内部处理机制中支持新型的内容中心网络,使得基于Web的应用能够方便的从内容中心网络中获取相关的资源。
(二)技术方案
为解决上述技术问题,本发明提供了一种支持内容中心网络的资源请求处理方法,所述处理方法包括以下步骤:
S1:接收由网页模块发送来的资源请求,并对所述资源请求的类型进行判断;
S2:当所述资源请求为AJAX请求时,则设置回调函数;
S3:根据所述AJAX请求判断请求的资源类型,所述资源类型包括:静态资源和动态资源;
S4:生成与所述AJAX请求对应的兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位;
S5:向内容中心网络CCN发送所述兴趣请求包,并监听所述CCN的响应;
S6:接收响应数据包,所述响应数据包包括:响应头部和响应正文;
S7:提取所述响应数据包中的响应正文,并将提取出的响应正文通过所述回调函数发送至所述网页模块。
其中,步骤S3包括:
S301:判断所述AJAX请求是否为GET请求,若否,则执行步骤S302,若是,则执行步骤S303;
S302:从存储设备中读取与所述AJAX请求对应的参数,并将请求的资源类型判断为动态资源,再执行步骤S4;
S303:判断所述AJAX请求中是否带有参数,若带有参数,则从所述AJAX请求中获取参数,并将请求的资源类型判断为动态资源,并执行步骤S4;
步骤S4包括:
生成兴趣请求包,将获取的参数写入所述兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位。
其中,当所述资源请求为来自于HTML文档的标签或者CSS中标签的内容资源请求时,则不执行步骤S2~S7,直接执行步骤S102;
S102:根据所述内容资源请求中的URI协议头部来识别所用协议类型,所述协议类型包括:CCN通信协议和http网络通信协议;
S103:根据所述内容资源请求判断请求的资源类型,所述资源类型包括:静态资源和动态资源;
S104:生成与所述内容资源请求对应的兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位;
S105:当所述协议类型为CCN通信协议,则向CCN发送所述兴趣请求包,并监听所述CCN的响应;当所述协议类型为http网络通信协议,则向IP网络中发送所述兴趣请求包,并监听所述IP网络的响应;
S106:接收响应数据包,所述响应数据包包括:响应头部和响应正文;
S107:解析所述响应数据包,以获得所述响应头部中的元数据;
S108:将所述元数据发送至所述网页模块;
S109:接收所述网页模块发送来的信息,并判断所述信息是否为支持资源信息,若是,则继续接收响应数据包,并将所述响应数据包中的响应正文发送至所述网页模块。
其中,步骤S109中,在所述信息是不支持的资源信息时,则重复执行步骤S102~106;
解析所述响应数据包,以获得所述响应正文,并将获得的响应正文保存成文件。
其中,步骤S103包括:
S1031:判断所述内容资源请求是否为GET请求,若否,则执行步骤S1032,若是,则执行步骤S1033;
S1032:从存储设备中读取与所述内容资源请求对应的参数,并将请求的资源类型判断为动态资源,再执行步骤S104;
S1033:判断所述内容资源请求中是否带有参数,若带有参数,则从所述内容资源请求中获取参数,并将请求的资源类型判断为动态资源,再执行步骤S104;若未带参数,则执行步骤S1034;
S1034:将所述内容资源请求与请求格式数据库进行匹配,若匹配成功,则将请求的资源类型判断为静态资源,并执行步骤S104;若匹配不成功,则将请求的资源类型判断为动态资源,并执行步骤S104;
步骤S104包括:
生成兴趣请求包,将获取的参数写入所述兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位。
本发明还公开了一种支持内容中心网络的Web浏览器,所述Web浏览器包括:网页模块和网络模块,所述网络模块包括:AJAX适配器、CCN网络响应处理器和CCN网络通信模块,
所述AJAX适配器,用于接收由网页模块发送来的资源请求,并对所述资源请求的类型进行判断,当所述资源请求为AJAX请求时,则设置回调函数;
所述CCN网络响应处理器,用于根据所述AJAX请求判断请求的资源类型,所述资源类型包括:静态资源和动态资源;
所述CCN网络通信模块,用于生成与所述AJAX请求对应的兴趣请求包;根据所述资源类型调整所述兴趣请求包内的标志位;向CCN发送所述兴趣请求包,并监听所述CCN的响应;接收响应数据包,所述响应数据包包括:响应头部和响应正文;提取所述响应数据包中的响应正文;
所述AJAX适配器,还用于将提取出的响应正文通过所述回调函数发送至所述网页模块。
其中,所述CCN网络响应处理器包括:
请求判断子模块,用于判断所述AJAX请求是否为GET请求;
参数读取子模块,用于从存储设备中读取与所述AJAX请求对应的参数,并将请求的资源类型判断为动态资源;
参数判断子模块,用于判断所述AJAX请求中是否带有参数,若带有参数,则从所述AJAX请求中获取参数,并将请求的资源类型判断为动态资源;
所述CCN网络通信模块还包括:
兴趣请求包生成子模块,用于生成兴趣请求包,将获取的参数写入所述兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位。
其中,所述网络模块还包括:网络接入管理器、http响应处理器和http实现模块,
所述网络接入管理,用于当所述资源请求为来自于HTML文档的标签或者CSS中标签的内容资源请求时,根据所述内容资源请求中的URI协议头部来识别所用协议类型,所述协议类型包括:CCN通信协议和http网络通信协议;
所述CCN网络响应处理器,还用于当所述协议类型为CCN通信协议时,根据所述内容资源请求判断请求的资源类型,所述资源类型包括:静态资源和动态资源;
所述CCN网络通信模块,还用于当所述协议类型为CCN通信协议时,生成与所述内容资源请求对应的兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位;向CCN发送所述兴趣请求包,并监听所述CCN的响应;接收响应数据包,所述响应数据包包括:响应头部和响应正文;解析所述响应数据包,以获得所述响应头部中的元数据;
所述CCN网络响应处理器,还用于将所述元数据发送至所述网页模块;
所述http响应处理器,用于当所述协议类型为http网络通信协议时,根据所述内容资源请求判断请求的资源类型;
所述http实现模块,用于当所述协议类型为http网络通信协议时,生成与所述内容资源请求对应的兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位;向IP网络发送所述兴趣请求包,并监听所述IP网络的响应;接收响应数据包,所述响应数据包包括:响应头部和响应正文;解析所述响应数据包,以获得所述响应头部中的元数据;
所述http响应处理器,用于将所述元数据发送至所述网页模块;
所述网络接入管理器,还用于接收所述网页模块发送来的信息,并判断所述信息是否为支持资源信息;
所述CCN网络通信模块和http实现模块,还用于当所述信息是支持资源信息时,继续接收响应数据包,并将所述响应数据包中的响应正文发送至所述网页模块。
其中,所述网络模块还包括:下载管理器;
所述下载管理器,用于在所述信息是不支持资源信息时,将获得的响应正文保存成文件。
其中,所述CCN网络响应处理器和http响应处理器均包括:
请求判断子模块,用于判断所述内容资源请求是否为GET请求;
参数读取子模块,用于从存储设备中读取与所述内容资源请求对应的参数,并将请求的资源类型判断为动态资源;
参数判断子模块,用于判断所述内容资源请求中是否带有参数,若带有参数,则从所述内容资源请求中获取参数,并将请求的资源类型判断为动态资源;
格式匹配子模块,用于将所述内容资源请求与请求格式数据库进行匹配,若匹配成功,则将请求的资源类型判断为静态资源;若匹配不成功,则将请求的资源类型判断为动态资源;
所述CCN网络通信模块还包括:
兴趣请求包生成子模块,用于生成兴趣请求包,将所述获取的参数写入所述兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位。
(三)有益效果
本发明支持浏览器在原有TCP/IP协议上构建的Web应用的情况下,引入了对新的内容中心网络协议的支持,一方面使浏览器在网络接入的能力方面得到提升,另一方面浏览器对新协议的支持,使得运行于浏览器之上的Web前端技术可以应用于内容中心网络的Web应用开发上,使得基于内容中心网络的Web应用能够充分利用内容中心网络的优势,促进传统网络的变革和内容中心网络的普及,并有效提升用户的体验。
本发明设计过程和实现过程中,尽量保留了原有前端技术HTML、JavaScript及CSS中用于资源请求的部分的接口,不去影响其原有的使用方式,可以有效地降低开发基于内容中心网络的Web应用的复杂度,以及已存在的Web应用由TCP/IP网络向内容中心网络迁移的难度。
附图说明
图1是本发明一种实施方式的支持内容中心网络的请求处理方法的流程图;
图2是传统浏览器的总体构架;
图3是本发明一种实施方式的支持内容中心网络的Web浏览器的结构框图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明一种实施例的支持内容中心网络的请求处理方法的流程图;参照图1,所述处理方法包括以下步骤:
S1:接收由网页模块发送来的资源请求,并对所述资源请求的类型进行判断;
S2:当所述资源请求为AJAX请求时,则设置回调函数;
S3:根据所述AJAX请求判断请求的资源类型,所述资源类型包括:静态资源和动态资源;
本步骤中,动态资源指需要经过服务器动态生成的资源,随着请求的参数的不同会有所不同,如查询数据;而静态资源指不会改变的资源,如图片、音频、视频等。在内容中心网络中,动态资源请求往往需要从服务器中得到正确的响应数据,而静态资源只需从中间路由中获取缓存。本浏览器将带参数的资源请求视为动态资源请求,包括带问号的URI对应的资源请求、表单发出的资源请求以及通过AJAX参数设置为动态的AJAX请求,该类请求必须由服务器产生响应。而将其余的请求视为静态资源请求,该类请求的响应可以直接由中间路由返回。
S4:生成与所述AJAX请求对应的兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位;
本步骤中,为完成从传统的前端技术对内容中心网络的适配,在向内容中心网络发送兴趣请求包之前,根据内容中心网络协议的特性,为充分内容中心网络中缓存的作用,浏览器会给静态资源和动态资源的兴趣请求包设置了不同的标志位,以控制响应的来源。
S5:向CCN发送所述兴趣请求包,并监听所述CCN的响应;
S6:接收响应数据包,所述响应数据包包括:响应头部和响应正文;
S7:提取所述响应数据包中的响应正文,并将提取出的响应正文通过所述回调函数发送至所述网页模块。
由于AJAX请求可分为GET请求和POST请求,并且由于AJAX请求为GET请求时,必然会具有参数(即需搜索的关键词等信息),为便于将请求的资源进行分类,优选地,步骤S3包括:
S301:判断所述AJAX请求是否为GET请求,若否,则执行步骤S302,若是,则执行步骤S303;
S302:从存储设备中读取与所述AJAX请求对应的参数,并将请求的资源类型判断为动态资源,再执行步骤S4;
S303:判断所述AJAX请求中是否带有参数,若带有参数,则从所述AJAX请求中获取参数,并将请求的资源类型判断为动态资源,并执行步骤S4;
步骤S4包括:
生成兴趣请求包,将获取的参数写入所述兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位。
为便于对内容资源请求进行处理,优选地,当所述资源请求为来自于HTML文档的标签或者CSS中标签的内容资源请求时,则不执行步骤S2~S7,直接执行步骤S102;
S102:根据所述内容资源请求中的URI协议头部来识别所用协议类型,所述协议类型包括:CCN通信协议和http网络通信协议;
S103:根据所述内容资源请求判断请求的资源类型,所述资源类型包括:静态资源和动态资源;
S104:生成与所述内容资源请求对应的兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位;
S105:当所述协议类型为CCN通信协议,则向CCN发送所述兴趣请求包,并监听所述CCN的响应;当所述协议类型为http网络通信协议,则向IP网络中发送所述兴趣请求包,并监听所述IP网络的响应;
S106:接收响应数据包,所述响应数据包包括:响应头部和响应正文;
S107:解析所述响应数据包,以获得所述响应头部中的元数据;
S108:将所述元数据发送至所述网页模块;
S109:接收所述网页模块发送来的信息,并判断所述信息是否为支持资源信息,若是,则继续接收响应数据包,并将所述响应数据包中的响应正文发送至所述网页模块。
为便于对网页模块不支持的资源进行请求,优选地,步骤S109中,在所述信息是不支持资源信息时,则重复执行步骤S102~106;
解析所述响应数据包,以获得所述响应正文,并将获得的响应正文保存成文件。
由于内容资源请求可分为GET请求和POST请求,并且由于内容资源请求为GET请求时,可能带有参数也可能不带有参数,为便于将请求的资源进行分类,优选地,步骤S103包括:
S1031:判断所述内容资源请求是否为GET请求,若否,则执行步骤S1032,若是,则执行步骤S1033;
S1032:从存储设备中读取与所述内容资源请求对应的参数,并将请求的资源类型判断为动态资源,再执行步骤S104;
S1033:判断所述内容资源请求中是否带有参数,若带有参数,则从所述内容资源请求中获取参数,并将请求的资源类型判断为动态资源,再执行步骤S104;若未带参数,则执行步骤S1034;
S1034:将所述内容资源请求与请求格式数据库进行匹配,若匹配成功,则将请求的资源类型判断为静态资源,并执行步骤S104;若匹配不成功,则将请求的资源类型判断为动态资源,并执行步骤S104;
步骤S104包括:
生成兴趣请求包,将获取的参数写入所述兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位。
参照图2,浏览器内核是Web浏览器的核心,是所有Web浏览器必须具备的组件,包含加载引擎、解析引擎、渲染引擎等,主要负责HTML、CSS及其他多媒体资源的加载、解析和渲染,该组件一般具有平台无关性,并向外提供接口以支持平台相关的开发及用户界面的定制。用户界面,是包含多个控件的图形界面,负责网页的展示以及与用户的交互,一般具有地址栏、前进/后退按钮、刷新按钮等常用控件,它是对界面/内核交互接口的实现。JS解释器负责JavaScript的解析及执行。另外,浏览器具备许多与平台相关的组件,如网络,图形、音/视频、存储等组件,这类组件一般基于具体的平台库,并为浏览器的功能提供支持,是负责与具体平台进行交互的平台交互接口的实现。由图中可知,本发明内容中心浏览器与已有浏览器最大的区别体现在浏览器的网络组件,本发明在网络组件支持HTTP的基础上,向网络组件中加入了对于内容中心网络协议的支持,使浏览器同时支持从TCP/IP网络和内容中心网络上获取资源。
本发明还公开了一种支持内容中心网络的Web浏览器,参照图3,与图2对应,本发明具体实现的模块中,包含了用户界面组件对应的界面模块及网络组件对应的网络模块,而将内核组件及其他与网络无关的组件封装到网页模块之中,网页的具体呈现以及内核与界面的交互则被封闭至网络视图模块中,本实施方式的Web浏览器包括:网页模块和网络模块,所述网络模块包括:AJAX适配器、CCN网络响应处理器和CCN网络通信模块,
所述网页模块先设置管理AJAX请求的AJAX适配器,再执行JavaScript,最后向AJAX适配器发出AJAX请求;
所述AJAX适配器,用于接收由网页模块发送来的资源请求,并对所述资源请求的类型进行判断,当所述资源请求为AJAX请求时,则设置回调函数;
所述CCN网络响应处理器,用于根据所述AJAX请求判断请求的资源类型,所述资源类型包括:静态资源和动态资源;
所述CCN网络通信模块,用于生成与所述AJAX请求对应的兴趣请求包;根据所述资源类型调整所述兴趣请求包内的标志位;向CCN发送所述兴趣请求包,并监听所述CCN的响应;接收响应数据包,所述响应数据包包括:响应头部和响应正文;提取所述响应数据包中的响应正文;
所述AJAX适配器,还用于将提取出的响应正文通过所述回调函数发送至所述网页模块(所述网页模块的JavaScript层接收所述响应正文)。
优选地,所述CCN网络响应处理器包括:
请求判断子模块,用于判断所述AJAX请求是否为GET请求;
参数读取子模块,用于从存储设备中读取与所述AJAX请求对应的参数,并将请求的资源类型判断为动态资源;
参数判断子模块,用于判断所述AJAX请求中是否带有参数,若带有参数,则从所述AJAX请求中获取参数,并将请求的资源类型判断为动态资源;
所述CCN网络通信模块还包括:
兴趣请求包生成子模块,用于生成兴趣请求包,将获取的参数写入所述兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位。
优选地,所述网络模块还包括:网络接入管理器、http响应处理器和http实现模块;
网页模块设置网络接入管理器,并且所述网页模块中的加载引擎将内容资源请求传递给网络接入管理器;
所述网络接入管理,用于当所述资源请求为来自于HTML文档的标签或者CSS中标签的内容资源请求时,根据所述内容资源请求中的URI协议头部来识别所用协议类型,所述协议类型包括:CCN通信协议和http网络通信协议;
所述CCN网络响应处理器,还用于当所述协议类型为CCN通信协议时,根据所述内容资源请求判断请求的资源类型,所述资源类型包括:静态资源和动态资源;
所述CCN网络通信模块,还用于当所述协议类型为CCN通信协议时,生成与所述内容资源请求对应的兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位;向CCN发送所述兴趣请求包,并监听所述CCN的响应;接收响应数据包,所述响应数据包包括:响应头部和响应正文;解析所述响应数据包,以获得所述响应头部中的元数据;
所述CCN网络响应处理器,还用于将所述元数据发送至所述网页模块;
所述http响应处理器,用于当所述协议类型为http网络通信协议时,根据所述内容资源请求判断请求的资源类型;
所述http实现模块,用于当所述协议类型为http网络通信协议时,生成与所述内容资源请求对应的兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位;向IP网络发送所述兴趣请求包,并监听所述IP网络的响应;接收响应数据包,所述响应数据包包括:响应头部和响应正文;解析所述响应数据包,以获得所述响应头部中的元数据;
所述http响应处理器,还用于当所述协议类型为http网络通信协议时,将所述元数据发送至所述网页模块;
所述网络模块接收到所述元数据后,根据所述元数据判断是否支持所请求的资源,若不支持,则向所述网络接入管理器发送不支持资源消息,若支持,向所述网络接入管理器发送支持资源消息;
所述网络接入管理器,还用于接收所述网页模块发送来的信息,并判断所述信息是否为支持资源信息;
所述CCN网络通信模块和http实现模块,还用于当所述信息是支持资源信息时,继续接收响应数据包,并将所述响应数据包中的响应正文发送至所述网页模块(所述网页模块接收响应正文后,进行解析、渲染)。
优选地,所述网络模块还包括:下载管理器;
所述下载管理器,用于在所述信息是不支持资源信息时,将获得的响应正文保存成文件。
优选地,所述CCN网络响应处理器和http响应处理器均包括:
请求判断子模块,用于判断所述内容资源请求是否为GET请求;
参数读取子模块,用于从存储设备中读取与所述内容资源请求对应的参数,并将请求的资源类型判断为动态资源;
参数判断子模块,用于判断所述内容资源请求中是否带有参数,若带有参数,则从所述内容资源请求中获取参数,并将请求的资源类型判断为动态资源;
格式匹配子模块,用于将所述内容资源请求与请求格式数据库进行匹配,若匹配成功,则将请求的资源类型判断为静态资源;若匹配不成功,则将请求的资源类型判断为动态资源;
所述CCN网络通信模块还包括:
兴趣请求包生成子模块,用于生成兴趣请求包,将所述获取的参数写入所述兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位。
本实施方式中的Web浏览器不仅为用户提供了一个接入内容中心网络的工具,同时保持了传统浏览器所具有的便捷的网络应用开发接口,参照表1。它保持了HTML、CSS和JavaScript的基本语法,使得开发面向内容中心网络的Web应用时可以使用原有的HTML,CSS和JavaScript协作的开发模式。该套开发接口不但可以帮助开发者开发的网络应用从内容中心网络上获取其所需的数据,而且为内容中心网络应用呈现普通文本、HTML文件、CSS文件、JavaScript文件及图片、音/视频等多媒体资源提供了支持。
表1Web浏览器的应用开发接口
综上,与现有浏览器不同,本实施方式的Web浏览器采用了特别的请求与响应处理方法,使浏览器既可以直接从内容中心网络获取资源并呈现,又可以从内容中心网络上下载资源,并且支持使用JavaScript从内容中心网络中动态请求数据,是一款可以综合使用CSS、HTML、JavaScript技术进行面向内容中心网络的网站型Web应用开发和展示的新型浏览器。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种支持内容中心网络的资源请求处理方法,其特征在于,所述处理方法包括以下步骤:
S1:接收由网页模块发送来的资源请求,并对所述资源请求的类型进行判断;
S2:当所述资源请求为AJAX请求时,则设置回调函数;
S3:根据所述AJAX请求判断请求的资源类型,所述资源类型包括:静态资源和动态资源;
S4:生成与所述AJAX请求对应的兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位;
S5:向内容中心网络CCN发送所述兴趣请求包,并监听所述CCN的响应;
S6:接收响应数据包,所述响应数据包包括:响应头部和响应正文;
S7:提取所述响应数据包中的响应正文,并将提取出的响应正文通过所述回调函数发送至所述网页模块。
2.如权利要求1所述的处理方法,其特征在于,步骤S3包括:
S301:判断所述AJAX请求是否为GET请求,若否,则执行步骤S302,若是,则执行步骤S303;
S302:从存储设备中读取与所述AJAX请求对应的参数,并将请求的资源类型判断为动态资源,再执行步骤S4;
S303:判断所述AJAX请求中是否带有参数,若带有参数,则从所述AJAX请求中获取参数,并将请求的资源类型判断为动态资源,并执行步骤S4;
步骤S4包括:
生成兴趣请求包,将获取的参数写入所述兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位。
3.如权利要求1所述的处理方法,其特征在于,当所述资源请求为来自于HTML文档的标签或者层叠样式表CSS中标签的内容资源请求时,则不执行步骤S2~S7,直接执行步骤S102;
S102:根据所述内容资源请求中的URI协议头部来识别所用协议类型,所述协议类型包括:CCN通信协议和http网络通信协议;
S103:根据所述内容资源请求判断请求的资源类型,所述资源类型包括:静态资源和动态资源;
S104:生成与所述内容资源请求对应的兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位;
S105:当所述协议类型为CCN通信协议,则向CCN发送所述兴趣请求包,并监听所述CCN的响应;当所述协议类型为http网络通信协议,则向IP网络中发送所述兴趣请求包,并监听所述IP网络的响应;
S106:接收响应数据包,所述响应数据包包括:响应头部和响应正文;
S107:解析所述响应数据包,以获得所述响应头部中的元数据;
S108:将所述元数据发送至所述网页模块;
S109:接收所述网页模块发送来的信息,并判断所述信息是否为支持资源信息,若是,则继续接收响应数据包,并将所述响应数据包中的响应正文发送至所述网页模块。
4.如权利要求3所述的处理方法,其特征在于,步骤S109中,在所述信息是不支持的资源信息时,则重复执行步骤S102~106;
解析所述响应数据包,以获得所述响应正文,并将获得的响应正文保存成文件。
5.如权利要求3所述的处理方法,其特征在于,步骤S103包括:
S1031:判断所述内容资源请求是否为GET请求,若否,则执行步骤S1032,若是,则执行步骤S1033;
S1032:从存储设备中读取与所述内容资源请求对应的参数,并将请求的资源类型判断为动态资源,再执行步骤S104;
S1033:判断所述内容资源请求中是否带有参数,若带有参数,则从所述内容资源请求中获取参数,并将请求的资源类型判断为动态资源,再执行步骤S104;若未带参数,则执行步骤S1034;
S1034:将所述内容资源请求与请求格式数据库进行匹配,若匹配成功,则将请求的资源类型判断为静态资源,并执行步骤S104;若匹配不成功,则将请求的资源类型判断为动态资源,并执行步骤S104;
步骤S104包括:
生成兴趣请求包,将获取的参数写入所述兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位。
6.一种支持内容中心网络CCN的Web浏览器,其特征在于,所述Web浏览器包括:网页模块和网络模块,所述网络模块包括:AJAX适配器、CCN网络响应处理器和CCN网络通信模块,
所述AJAX适配器,用于接收由网页模块发送来的资源请求,并对所述资源请求的类型进行判断,当所述资源请求为AJAX请求时,则设置回调函数;
所述CCN网络响应处理器,用于根据所述AJAX请求判断请求的资源类型,所述资源类型包括:静态资源和动态资源;
所述CCN网络通信模块,用于生成与所述AJAX请求对应的兴趣请求包;根据所述资源类型调整所述兴趣请求包内的标志位;向CCN发送所述兴趣请求包,并监听所述CCN的响应;接收响应数据包,所述响应数据包包括:响应头部和响应正文;提取所述响应数据包中的响应正文;
所述AJAX适配器,还用于将提取出的响应正文通过所述回调函数发送至所述网页模块。
7.如权利要求6所述的Web浏览器,其特征在于,所述CCN网络响应处理器包括:
请求判断子模块,用于判断所述AJAX请求是否为GET请求;
参数读取子模块,用于从存储设备中读取与所述AJAX请求对应的参数,并将请求的资源类型判断为动态资源;
参数判断子模块,用于判断所述AJAX请求中是否带有参数,若带有参数,则从所述AJAX请求中获取参数,并将请求的资源类型判断为动态资源;
所述CCN网络通信模块还包括:
兴趣请求包生成子模块,用于生成兴趣请求包,将获取的参数写入所述兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位。
8.如权利要求6所述的Web浏览器,其特征在于,所述网络模块还包括:网络接入管理器、http响应处理器和http实现模块,
所述网络接入管理器,用于当所述资源请求为来自于HTML文档的标签或者层叠样式表CSS中标签的内容资源请求时,根据所述内容资源请求中的URI协议头部来识别所用协议类型,所述协议类型包括:CCN通信协议和http网络通信协议;
所述CCN网络响应处理器,还用于当所述协议类型为CCN通信协议时,根据所述内容资源请求判断请求的资源类型,所述资源类型包括:静态资源和动态资源;
所述CCN网络通信模块,还用于当所述协议类型为CCN通信协议时,生成与所述内容资源请求对应的兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位;向CCN发送所述兴趣请求包,并监听所述CCN的响应;接收响应数据包,所述响应数据包包括:响应头部和响应正文;解析所述响应数据包,以获得所述响应头部中的元数据;
所述CCN网络响应处理器,还用于将所述元数据发送至所述网页模块;
所述http响应处理器,用于当所述协议类型为http网络通信协议时,根据所述内容资源请求判断请求的资源类型;
所述http实现模块,用于当所述协议类型为http网络通信协议时,生成与所述内容资源请求对应的兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位;向IP网络发送所述兴趣请求包,并监听所述IP网络的响应;接收响应数据包,所述响应数据包包括:响应头部和响应正文;解析所述响应数据包,以获得所述响应头部中的元数据;
所述http响应处理器,用于将所述元数据发送至所述网页模块;
所述网络接入管理器,还用于接收所述网页模块发送来的信息,并判断所述信息是否为支持资源信息;
所述CCN网络通信模块和http实现模块,还用于当所述信息是支持资源信息时,继续接收响应数据包,并将所述响应数据包中的响应正文发送至所述网页模块。
9.如权利要求8所述的Web浏览器,其特征在于,所述网络模块还包括:下载管理器;
所述下载管理器,用于在所述信息是不支持资源信息时,将获得的响应正文保存成文件。
10.如权利要求8所述的Web浏览器,其特征在于,所述CCN网络响应处理器和http响应处理器均包括:
请求判断子模块,用于判断所述内容资源请求是否为GET请求;
参数读取子模块,用于从存储设备中读取与所述内容资源请求对应的参数,并将请求的资源类型判断为动态资源;
参数判断子模块,用于判断所述内容资源请求中是否带有参数,若带有参数,则从所述内容资源请求中获取参数,并将请求的资源类型判断为动态资源;
格式匹配子模块,用于将所述内容资源请求与请求格式数据库进行匹配,若匹配成功,则将请求的资源类型判断为静态资源;若匹配不成功,则将请求的资源类型判断为动态资源;
所述CCN网络通信模块还包括:
兴趣请求包生成子模块,用于生成兴趣请求包,将所述获取的参数写入所述兴趣请求包,并根据所述资源类型调整所述兴趣请求包内的标志位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310744978.4A CN103701910B (zh) | 2013-12-30 | 2013-12-30 | 支持内容中心网络的资源请求处理方法及Web浏览器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310744978.4A CN103701910B (zh) | 2013-12-30 | 2013-12-30 | 支持内容中心网络的资源请求处理方法及Web浏览器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103701910A CN103701910A (zh) | 2014-04-02 |
CN103701910B true CN103701910B (zh) | 2017-06-16 |
Family
ID=50363304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310744978.4A Active CN103701910B (zh) | 2013-12-30 | 2013-12-30 | 支持内容中心网络的资源请求处理方法及Web浏览器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103701910B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468704B (zh) * | 2014-10-21 | 2017-10-20 | 北京邮电大学 | 支持内容中心网络的Web服务器系统及处理方法 |
US9977809B2 (en) * | 2015-09-24 | 2018-05-22 | Cisco Technology, Inc. | Information and data framework in a content centric network |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102938776A (zh) * | 2012-09-28 | 2013-02-20 | 方正国际软件有限公司 | 基于ajax技术的动态页面处理系统 |
CN103118013A (zh) * | 2013-01-16 | 2013-05-22 | 西安电子科技大学 | 内容中心网络中数据包捎带反向兴趣包的方法 |
-
2013
- 2013-12-30 CN CN201310744978.4A patent/CN103701910B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102938776A (zh) * | 2012-09-28 | 2013-02-20 | 方正国际软件有限公司 | 基于ajax技术的动态页面处理系统 |
CN103118013A (zh) * | 2013-01-16 | 2013-05-22 | 西安电子科技大学 | 内容中心网络中数据包捎带反向兴趣包的方法 |
Non-Patent Citations (2)
Title |
---|
RESTful Web Service Mashup based Coal Mine Safety Monitoring and Control Automation with Wireless Sensor Network;Cheng Bo等;《2012 IEEE 19th International Conference on Web Services》;20120629;第620-622页 * |
内容中心网络CCN研究进展探析;闵二龙等;《信息网络安全》;20120210(第2期);第6-10页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103701910A (zh) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102029277B1 (ko) | 패킷 기반 데이터 통신의 디바이스 식별자 의존적 오퍼레이션 프로세싱 | |
US6507817B1 (en) | Voice IP approval system using voice-enabled web based application server | |
US8224308B1 (en) | Mobile device catalog registration based on user agents and customer snapshots of capabilities | |
CN106575298B (zh) | 包含动态内容和陈旧内容的网站的快速呈现 | |
Mesbah et al. | An architectural style for Ajax | |
US20140136936A1 (en) | Spreadsheet functions to call rest api sources | |
US9571556B2 (en) | Browser kernel adaptation method and browser therefor | |
TWI235320B (en) | System and method for dynamically integrating remote portal fragments into a local portal | |
US20090187410A1 (en) | System and method of providing speech processing in user interface | |
CN104541262B (zh) | 用于富因特网应用的透明网络内适配的系统和方法 | |
CN101103612A (zh) | 普适设备对网络服务的动态可扩展轻量级接入 | |
CN107391664A (zh) | 基于web的页面数据处理方法和系统 | |
WO2013043532A1 (en) | Context-specific unicode characters in shortened urls | |
US20100082771A1 (en) | Mechanism for inserting trustworthy parameters into ajax via server-side proxy | |
CN113132376A (zh) | 媒体数据处理方法及装置、系统、电子设备和存储介质 | |
US9473592B2 (en) | Methods for optimizing a web content proxy server and devices thereof | |
CN104683313B (zh) | 多媒体业务处理装置、方法及系统 | |
WO2014086195A1 (zh) | 视频处理方法、移动终端及服务器 | |
Di Fabbrizio et al. | A speech mashup framework for multimodal mobile services | |
CN104573040B (zh) | 抓取网页数据的方法及系统 | |
JP2004046810A (ja) | クライアント/サーバ環境におけるアプリケーションステップのディスパッチ方法及びサービスポータルシステム | |
CN103701910B (zh) | 支持内容中心网络的资源请求处理方法及Web浏览器 | |
Kennedy et al. | StoRHm: a protocol adapter for mapping SOAP based Web Services to RESTful HTTP format | |
CN110377273A (zh) | 一种数据处理的方法、装置、介质和电子设备 | |
CN113055348B (zh) | 一种跨平台数据请求方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |