超文本传输协议请求的处理方法、处理装置和服务器的制造方法
【技术领域】
[0001]本发明涉及服务器技术领域,具体而言,涉及一种超文本传输协议请求的处理方法、一种超文本传输协议请求的处理装置和一种服务器。
【背景技术】
[0002]目前,在Web (互联网)程序开发中,HTTP (Hypertext Transfer Protocol,超文本传输协议)请求意味着业务的开始,即由客户端向服务器发送HTTP数据包,其中,所述HTTP数据包中包括:消息首行、对资源信息的请求方法、资源信息的URI (Uniform ResourceIdentifier,统一资源标识符)及使用协议。HTTP请求中用统一资源标识符指明了业务的资源信息及业务的参数。在将HTTP请求发送至服务器后,HTTP请求最终都会由业务处理逻辑的动作(即ACT1N)来进行处理,其中,ACT1N是用WEB程序开发语言编写,驻留在服务器中,对HTTP请求进行响应,并实际处理业务逻辑,完成后将结果返回。
[0003]现有技术中服务器对HTTP请求进行处理的方法并不统一,有的是将对HTTP请求进行处理的方法直接写在程序源代码中,如果业务的资源信息的URI发生变化,或者要增加新的业务,就需要修改程序源代码,这样就导致了用户(如程序员)的工作量非常大。而有的是在系统设计之初强制指定URI的模式,每一种模式由一个特定的ACT1N进行处理,这种约束不明了、难管理,对那些不符合任何约定模式的URI无能为力。
[0004]因此,如何使得服务器对HTTP请求的处理更加灵活、简单成为目前亟待解决的问题。
【发明内容】
[0005]本发明正是基于上述问题,提出了一种新的技术方案,可以使得服务器对超文本传输协议请求的处理更加灵活、简单。
[0006]有鉴于此,本发明的第一方面提出了一种超文本传输协议请求的处理方法,用于服务器,包括:对接收到的超文本传输协议请求进行解析,并根据解析结果在所述超文本传输协议请求中获取统一资源标识符和客户端与所述服务器的交互类型;根据所述交互类型和所述统一资源标识符,在已定义的多个路由中选择目标路由;根据所述目标路由中业务处理逻辑的动作,对所述超文本传输协议请求进行处理。
[0007]在该技术方案中,通过对接收到的超文本传输协议请求(即HTTP请求)进行解析,并根据解析结果在超文本传输协议请求中获取统一资源标识符和客户端与服务器的交互类型,其中,客户端与服务器的交互类型包括:读取资源信息(GET)、向服务器提交资源信息(P0ST)、更新服务器上的资源信息(PUT)、删除服务器上的资源信息(DELETE)、读取资源信息的头部信息(HEAD)、使用WebSocket协议获取资源信息(WS),从而根据交互类型和统一资源标识符在已定义的多个路由中选择目标路由,其中,已定义的多个路由可以存储在路由文件中,用户可以随时对该路由文件中的多个路由进行修改或增加,进一步地,根据目标路由中业务处理逻辑的动作对超文本传输协议请求进行处理,因此,通过上述技术方案,避免了相关技术中由于超文本传输协议请求的处理方法直接写在程序源代码中,从而避免了在超文本传输协议请求中的统一资源标识符变化时需要修改程序源代码的繁琐操作,进而使得服务器对超文本传输协议请求的处理更加灵活、简单。
[0008]在上述技术方案中,优选地,所述根据所述交互类型和所述统一资源标识符,在已定义的多个路由中选择目标路由的步骤,具体包括:在所述多个路由中选择与所述交互类型和所述统一资源标识符匹配的至少一个路由,并根据所述至少一个路由确定所述目标路由。
[0009]在该技术方案中,通过将多个路由与交互类型和统一资源标识符进行匹配,并根据与交互类型和统一资源标识符匹配的至少一个路由确定目标路由,由于用户可随时对多个路由进行修改或者增加,也就使得在统一资源标识符发生改变时,直接修改多个路由中的统一资源标识符,然后再根据交互类型和变化后的统一资源标识符与多个路由进行匹配来确定目标路由,如此,可以使得服务器对超文本传输协议请求的处理更加灵活、简单。
[0010]在上述任一技术方案中,优选地,所述在所述多个路由中选择与所述交互类型和所述统一资源标识符匹配的至少一个路由的步骤,具体包括:在所述多个路由中选择与所述交互类型匹配的路由;判断在与所述交互类型匹配的路由中是否存在与所述统一资源标识符匹配的路由;在判断结果为是时,将与所述统一资源标识符匹配的路由作为所述至少一个路由;否则,构造错误信息,并将所述错误信息发送至所述客户端。
[0011]在该技术方案中,若判定在与交互类型匹配的路由中存在与统一资源标识符匹配的路由,则将与统一资源标识符匹配的路由作为至少一个路由,否则,即没有与统一资源标识符匹配的路由,则构造错误信息,并将错误信息发送至客户端,因此,通过上述技术方案,可以使得服务器对超文本传输协议请求的处理更加灵活、简单。
[0012]在上述任一技术方案中,优选地,若所述至少一个路由的数量为多个,则根据所述至少一个路由确定所述目标路由的步骤,具体包括:根据所述多个路由的路由规则获取所述至少一个路由的优先级;将所述至少一个路由中优先级最高的路由作为所述目标路由。
[0013]在该技术方案中,根据多个路由的路由规则获取至少一个路由的优先级,例如,根据路由可信度(即管理距离)来确定至少一个路由的优先级(路由的管理距离越小,路由的优先级越高),然后将至少一个路由中优先级最高的路由作为目标路由,因此,通过上述技术方案,通过选取优先级最高的路由作为目标路由,有效地提升了根据目标路由中业务处理逻辑的动作对超文本传输协议请求进行处理的可靠性。
[0014]在上述任一技术方案中,优选地,所述对接收到的超文本传输协议请求进行解析的步骤之前,包括:接收来自所述客户端的所述超文本传输协议请求;或者接收来自其他服务器转发所述客户端的所述超文本传输协议请求。
[0015]在该技术方案中,服务器可以接收来自客户端的超文本传输协议请求,也可以接收来自其他服务器转发客户端的超文本传输协议请求,也就说明本发明中的超文本传输协议请求的处理方法既可以独立进行,也可以嵌入到其他服务器中进行。
[0016]本发明的第二方面提出了一种超文本传输协议请求的处理装置,用于服务器,包括:获取单元,用于对接收到的超文本传输协议请求进行解析,并根据解析结果在所述超文本传输协议请求中获取统一资源标识符和客户端与所述服务器的交互类型;选择单元,用于根据所述交互类型和所述统一资源标识符,在已定义的多个路由中选择目标路由;处理单元,用于根据所述目标路由中业务处理逻辑的动作,对所述超文本传输协议请求进行处理。
[0017]在该技术方案中,通过对接收到的超文本传输协议请求(即HTTP请求)进行解析,并根据解析结果在超文本传输协议请求中获取统一资源标识符和客户端与服务器的交互类型,其中,客户端与服务器的交互类型包括:读取资源信息(GET)、向服务器提交资源信息(POST)、更新服务器上的资源信息(PUT)、删除服务器上的资源信息(DELETE)、读取资源信息的头部信息(HEAD)、使用WebSocket协议获取资源信息(WS),从而根据交互类型和统一资源标识符在已定义的多个路由中选择目标路由,其中,已定义的多个路由可以存储在路由文件中,用户可以随时对该路由文件中的多个路由进行修改或增加,进一步地,根据目标路由中业务处理逻辑的动作对超文本传输协议请求进行处理,因此,通过上述技术方案,避免了相关