关键词网络定位服务解析协议规范文档格式.docx
《关键词网络定位服务解析协议规范文档格式.docx》由会员分享,可在线阅读,更多相关《关键词网络定位服务解析协议规范文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
9.1.应答的状态行(Status-Line)
9.2应答标题域(Response-Header)
9.3转向应答
10关键词对象的属性
10.1必要属性
10.2附加属性
10.3用户属性
11缓存机制
12关键词与网络资源的映射
12.1关键词网络资源标识符
12.2HTTP协议下关键词解析请求的语法
12.3http协议下关键词网络资源定位应答的语法
12.4http协议下关键词客户机的处理
13关键词网络定位服务解析应用实施实例
13.1关键词客户端
13.2本地解析服务器()
13.3顶级解析服务器()
前
言
本规范规定了关键词网络定位服务的解析协议
本规范起草单位:
中国互联网络信息中心
本规范发起单位:
搜狐爱特信信息技术(北京)有限公司
广州网易计算机系统有限公司
深圳市腾讯计算机系统有限公司
XX在线网络技术(北京)有限公司
北京爱思美网科技发展有限公司
1引言
关键词(Keyword)网络定位技术是继DNS域名技术之后发展起来的一种新型互联网访问技术。
在该技术框架下,网络用户能够使用企业名、产品名、商标名或其它通用名称,直接访问目标网站或其它URI(统一资源定位标识)信息资源。
Keyword是应用级协议,它适应了分布式网络资源对灵活性及速度的要求。
它是一个一般的、无状态的、面向连接的协议,通过对其请求方法(requestmethods)进行扩展,可以被用于多种用途。
该规范反映了“Keyword/1.0”基于HTTP协议的普通用法。
其后续版本会支持XML规范。
2范围
本规范规定了关键词的结构、语法,以及关键词与网络地址(主要是IP地址)之间的映射机制,同时规定了关键词网络定位的协议模式和标准的实施要求。
本规范适用于关键词的命名、开发、系统运行、系统应用,以及建立在关键词网络定位技术基础之上的相关信息处理领域。
返回
3规范性引用文件
GB/T1988-1998信息技术信息交换用七位编码字符集(ISO/IEC646:
1991)
GB13000.1-1993信息技术通用多八位编码字符集(UCS)第一部分:
体系结构与基本多文种平面(ISO/IEC10646.1:
1993)
GB4754—84国民经济行业分类和代码
RFC3367CommonNameResolutionProtocol(CNRP)
RFC2068HypertextTransferProtocol--HTTP/1.1
RFC2616HypertextTransferProtocol--HTTP/1.1
RFC1866HypertextMarkupLanguage-2.0
RFC1766TagsfortheIdentificationofLanguages
ISO3166CountryandRegionCodes
4术语
本规范用了许多关键词及HTTP通讯相关的术语,如下:
关键词解析
关键词解析是在域名技术基础之上提出的、方便互联网用户访问网络资源的一种方法,它实现中文词汇(如:
公司名称、产品名称、商标、人名等)到网络资源的直接定向解析处理。
关键词中允许的字符集包括:
中文汉字、数字、字母、“-”,全角符号表示需要转为半角符号表示。
连接(connection)
两个应用程序以通讯为目的在传输层建立虚拟电路。
消息(message)
关键词通讯的基本单元,在连接中传输的结构化的、有顺序的字节(其含义在第四节中定义),可分为请求消息和回应消息。
请求(request)
关键词的请求消息
回应(response)
关键词的回应消息
资源(resource)
网络上可以用URI来标识的数据对象或服务
客户端(client)
指以发出请求为目的而建立连接的应用程序。
用户代理(useragent)
指初始化请求的客户端,如浏览器、编辑器、蜘蛛(web爬行机器人)或其它终端用户工具。
服务器(server)
指接受连接,并通过发送回应来响应服务请求的应用程序。
原始服务器(originserver)
存放资源或产生资源的服务器。
代理(proxy)
同时扮演服务器及客户端角色的中间程序,用来为其它客户产生请求。
请求经过变换,被传递到最终的目的服务器,在代理程序内部,请求或被处理,或被传递。
代理必须在消息转发前对消息进行解释,而且如有必要还得重写消息。
代理通常被用作经过防火墙的客户端出口,用以辅助处理用户代理所没实现的请求。
缓存(cache)
指程序本地存储的回应消息和用来控制消息存储、重获、删除的子系统。
缓存回应的目的是为减少请求回应时间,以及未来一段时间对网络带宽的消耗。
任何客户端及服务端都可以包含缓存。
任何指定的程序都有能力同时做为客户端和服务器。
我们在使用这个概念时,不是看程序功能上是否能实现客户及服务器,而是看程序在特定连接时段上扮演何种角色(客户或服务器)。
同样,任何服务器可以扮演原始服务器、代理、缓存等角色,行为的切换取决于每次请求的内容。
八位位组Octet
在计算机技术和通信技术中,作为一个整体处理的8个二进制数。
5缩略语
下列缩略语适用于本规范:
Keyword
关键词
DNS(Domainnamesystem)
域名系统
IP(InternetProtocol)
互联网协议
URI(UniformResourceIdentifiers)
统一资源定位标识
HTTP(HypertextTransferProtocol)
超文本传输协议
6关键词网络定位服务解析协议遵循的原则
1)一致性
同样的关键词定位请求产生的精确应答结果必须一致,精确应答结果与解析过程中所涉及的解析器、服务器的位置及其系统设置无关。
2)开放性
关键词网络定位体系为其它应用软件提供开放、标准的技术平台,支持关键词的网络解析服务。
3)关键词网络定位服务具有健壮性、稳定性、安全性、可靠性。
7关键词网络定位体系
7.1关键词解析体系结构
关键词命名空间是一个平面结构的空间。
其解析体系有两级构成:
若干服务器构成的关键词顶级解析服务器集群、关键词本地解析服务器。
用户可以从任何解析服务器获得一致的应答结果。
▪顶级解析服务器
顶级解析服务器的应答是权威的,它从关键词数据库中查询得到最新的记录。
应答最终用户或者各本地解析服务器的解析请求。
▪本地解析服务器
本地解析服务器在关键词解析体系中是可选的,它根据自身的缓存策略应答最终用户的请求,并缓存顶级解析服务器的应答。
设置本地解析服务器的目的是为了加速最终用户的访问速度和提高关键词的解析效率。
▪关键词解析器
解析器将用户的关键词定位请求,发到关键词解析服务器,并将解析的应答返回给浏览器等网络应用程序。
关键词客户端缺省设置一个或多个关键词解析服务器。
7.2关键词解析流程
关键词网络定位服务解析协议是基于客户机-服务器结构的应用服务体系。
下面说明在客户机、本地解析服务器、顶级解析服务器三级体系下的关键词解析过程:
1)用户使用支持关键词解析服务的客户程序,输入所要的关键词名称,经过互联网传输到本地关键词解析服务器。
2)本地解析服务器查询自身的缓存,如果有匹配的结果,则转4);
否则,转发给顶级解析服务器。
3)顶级解析服务器收到解析请求后,查询关键词数据库到应答资源记录,封装成符合HTTP协议的数据格式的数据包返回给本地解析服务器。
本地解析服务器对顶级解析服务器的应答进行缓存处理。
4)本地解析服务器将查询结果返回给用户程序。
7.3关键词语法定义
<
关键词>
:
:
=<
字符>
|<
="
-"
汉字>
数字>
字母>
=任何一个汉字
=a-z|A-Z
=0-9
8关键词请求消息
从客户端到服务器端的解析请求消息。
如果关键词解析服务器收到请求消息,它必须返回一个应答消息。
8.1消息传输
请求消息通过HTTP协议来传输。
8.2请求方法
方法指明了将要以何种方式来定位由请求关键词指定的资源。
方法是大小写敏感的。
本规范中支持一种方法:
Method="
GET"
8.2.1GET方法
GET方法就是以实体方式得到由请求关键词所指定资源的信息。
GET方法允许被缓存的解析结果在不必经过不必要的数据传输就能进行应答,从而有助于降低网络负载。
9关键词应答消息
在接收、解释请求消息后,服务器端通过HTTP协议返回关键词解析的应答消息:
Response=Full-Response
Full-Response=Status-Line;
9.1状态行
|Response-Header
;
9.2应答标题域
9.1.应答的状态行(Status-Line)
完整回应消息的第一行就是状态行,它依次由http协议版本、数字形式的状态代码、及相应的词语文本组成,各元素间以空格(SP)分隔,除了结尾的回车换行(CRLF)外,不允许出现单独的回车(CR)或换行(LF)符。
Status-Line=http-VersionSPStatus-CodeSPReason-PhraseCRLF
9.1.1状态代码和原因分析(StatusCodeandReasonPhrase)
状态代码(Status-Code)由3位数字组成,表示请求是否被理解或被满足。
状态代码用来支持自动操作。
状态代码的第一位数字定义了回应的类别,后面两位数字没有具体分类。
首位数字有5种取值可能,其代码的分配兼容HTTP协议的状态码:
1xx:
:
保留,将来使用。
2xx:
成功-操作被接收、理解、接受(received,understood,accepted)。
3xx:
重定向(Redirection)-要完成请求必须进行进一步操作。
4xx:
客户端出错-请求有语法错误或无法实现。
5x