超文本传输协议请求的处理方法、处理装置和服务器的制造方法_2

文档序号:9551443阅读:来源:国知局
技术中由于超文本传输协议请求的处理方法直接写在程序源代码中,从而避免了在超文本传输协议请求中的统一资源标识符变化时需要修改程序源代码的繁琐操作,进而使得服务器对超文本传输协议请求的处理更加灵活、简单。
[0018]在上述技术方案中,优选地,所述选择单元具体用于,在所述多个路由中选择与所述交互类型和所述统一资源标识符匹配的至少一个路由;所述选择单元包括:确定单元,用于根据所述至少一个路由确定所述目标路由。
[0019]在该技术方案中,通过将多个路由与交互类型和统一资源标识符进行匹配,并根据与交互类型和统一资源标识符匹配的至少一个路由确定目标路由,由于用户可随时对多个路由进行修改或者增加,也就使得在统一资源标识符发生改变时,直接修改多个路由中的统一资源标识符,然后再根据交互类型和变化后的统一资源标识符与多个路由进行匹配来确定目标路由,如此,可以使得服务器对超文本传输协议请求的处理更加灵活、简单。
[0020]在上述任一技术方案中,优选地,所述选择单元具体用于,在所述多个路由中选择与所述交互类型匹配的路由;所述选择单元还包括:判断单元,用于判断在与所述交互类型匹配的路由中是否存在与所述统一资源标识符匹配的路由,在判断结果为是时,将与所述统一资源标识符匹配的路由作为所述至少一个路由;发送单元,用于在判断结果为否时,构造错误信息,并将所述错误信息发送至所述客户端。
[0021]在该技术方案中,若判定在与交互类型匹配的路由中存在与统一资源标识符匹配的路由,则将与统一资源标识符匹配的路由作为至少一个路由,否则,即没有与统一资源标识符匹配的路由,则构造错误信息,并将错误信息发送至客户端,因此,通过上述技术方案,可以使得服务器对超文本传输协议请求的处理更加灵活、简单。
[0022]在上述任一技术方案中,优选地,所述确定单元具体用于,根据所述多个路由的路由规则获取所述至少一个路由的优先级,并将所述至少一个路由中优先级最高的路由作为所述目标路由。
[0023]在该技术方案中,根据多个路由的路由规则获取至少一个路由的优先级,例如,根据路由可信度(即管理距离)来确定至少一个路由的优先级(路由的管理距离越小,路由的优先级越高),然后将至少一个路由中优先级最高的路由作为目标路由,因此,通过上述技术方案,通过选取优先级最高的路由作为目标路由,有效地提升了根据目标路由中业务处理逻辑的动作对超文本传输协议请求进行处理的可靠性。
[0024]在上述任一技术方案中,优选地,还包括:接收单元,用于接收来自所述客户端的所述超文本传输协议请求,或者接收来自其他服务器转发所述客户端的所述超文本传输协议请求。
[0025]在该技术方案中,服务器可以接收来自客户端的超文本传输协议请求,也可以接收来自其他服务器转发客户端的超文本传输协议请求,也就说明本发明中的超文本传输协议请求的处理方法既可以独立进行,也可以嵌入到其他服务器中进行。
[0026]本发明的第三个方面提出了一种服务器,包括上述技术方案中任一项所述的超文本传输协议请求的处理装置,因此,该服务器具有和上述技术方案中任一项所述的超文本传输协议请求的处理装置相同的技术效果,在此不再赘述。
[0027]通过上述技术方案,可以使得服务器对超文本传输协议请求的处理更加灵活、简单。
【附图说明】
[0028]图1示出了根据本发明的一个实施例的超文本传输协议请求的处理方法的流程示意图;
[0029]图2示出了根据本发明的另一个实施例的超文本传输协议请求的处理方法的流程不意图;
[0030]图3示出了根据本发明的一个实施例的超文本传输协议请求的处理装置的结构示意图。
[0031]图4示出了根据本发明的一个实施例的服务器的结构示意图。
【具体实施方式】
[0032]为了可以更清楚地理解本发明的上述目的、特征和优点,下面结合附图和【具体实施方式】对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0033]在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0034]图1示出了根据本发明的一个实施例的超文本传输协议请求的处理方法的流程示意图。
[0035]如图1所示,根据本发明的一个实施例的超文本传输协议请求的处理方法,包括:
[0036]步骤102,对接收到的超文本传输协议请求进行解析,并根据解析结果在所述超文本传输协议请求中获取统一资源标识符和客户端与所述服务器的交互类型;
[0037]步骤104,根据所述交互类型和所述统一资源标识符,在已定义的多个路由中选择目标路由;
[0038]步骤106,根据所述目标路由中业务处理逻辑的动作,对所述超文本传输协议请求进行处理。
[0039]在该技术方案中,通过对接收到的超文本传输协议请求(即HTTP请求)进行解析,并根据解析结果在超文本传输协议请求中获取统一资源标识符和客户端与服务器的交互类型,其中,客户端与服务器的交互类型包括:读取资源信息(GET)、向服务器提交资源信息(POST)、更新服务器上的资源信息(PUT)、删除服务器上的资源信息(DELETE)、读取资源信息的头部信息(HEAD)、使用WebSocket协议获取资源信息(WS),从而根据交互类型和统一资源标识符在已定义的多个路由中选择目标路由,其中,已定义的多个路由可以存储在路由文件中,用户可以随时对该路由文件中的多个路由进行修改或增加,进一步地,根据目标路由中业务处理逻辑的动作对超文本传输协议请求进行处理,因此,通过上述技术方案,避免了相关技术中由于超文本传输协议请求的处理方法直接写在程序源代码中,从而避免了在超文本传输协议请求中的统一资源标识符变化时需要修改程序源代码的繁琐操作,进而使得服务器对超文本传输协议请求的处理更加灵活、简单。
[0040]其中,每个路由代表了一个路由的配置项,每一个配置项由客户端与服务器的交互类型、统一资源标识符的模式和业务处理逻辑的动作构成,其中,统一资源标识符的模式定义了超文本传输协议请求的路径,可以是静态值,也可以是基于正则表达式的动态值。例如,路由中的一行配置项为“GET、/clients/aa、admin.Dashboard, index”,其中,GET 表示读取资源信息,统一资源标识符的模式是静态模式,值为/clients/aa,业务处理逻辑的动作是admin.Dashboard, index。该配置项的具体含义就是当一个GET方法的超文本传输协议请求发起对资源信息/clients/aa的访问时,交由admin.Dashboard, index处理这个请求并返回结果。再例如,路由文件中的另一行配置项为:P0ST、/clients/{〈[a-z]{4, 10} >id}、business.Compute, calc,其中,POST表示向服务器提交资源信息,统一资源标识符的模式是动态模式,其中“ {〈[a-z] {4,10}>id} ”是正则表达式,表示4位到10位的小写字母,并且匹配成功后匹配值命名为id,业务处理逻辑的动作是business.Compute, calc。该配置项的具体含义就是当一个POST方法的超文本传输协议请求发起对资源信息的访问时,交由business.Compute, calc处理这个请求,并且资源的路径由两部分
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1