一种http请求的记录方法及装置
技术领域
1.本发明涉及金融领域,具体涉及一种http请求的记录方法及装置。
背景技术:2.随着网络技术的发展,特别是web技术的不断成熟,出现了browser/server软件体系结构,并且其功能也越来越强大。
3.browser与server之间的请求-响应协议主要采用http实现,随着web应用的快速发展,参数传递方式更加多样化,参数的传递内容也更加复杂化,随之而来的请求-响应之间的请求记录成为一项重要而且繁杂的工作。传统的请求记录方式,主要是通过一个请求记录的日志工具类,在需要记录请求的接口中,添加一行代码,由这个日志工具类去做请求的记录。此种方式工作量大,且对业务代码的侵入性也很大,如果后期需要进行修改,需要一一进行修改,效率低。
技术实现要素:4.针对现有技术中的问题,本发明实施例提供一种http请求的记录方法及装置,能够至少部分地解决现有技术中存在的问题。
5.第一方面,本发明提出一种http请求的记录方法,包括:
6.接收http请求;
7.若判断获知所述http请求满足拦截规则,则对所述http请求进行拦截;
8.若判断获知拦截的http请求中存在包括记录标记的http请求,则对包括记录标记的http请求进行记录。
9.进一步地,在判断获知所述http请求满足拦截规则之前,还包括:
10.对http请求进行编码的归一化操作。
11.进一步地,所述拦截规则包括对静态资源请求不进行拦截。
12.进一步地,所述对包括记录标记的http请求进行记录包括:
13.采用异步方式对包括记录标记的http请求进行记录。
14.进一步地,所述记录标记是基于http请求包括的请求路径设置的。
15.第二方面,本发明提供一种http请求的记录装置,包括:
16.接收模块,用于接收http请求;
17.拦截模块,用于在判断获知所述http请求满足拦截规则之后,对所述http请求进行拦截;
18.记录模块,用于在判断获知拦截的http请求中存在包括记录标记的http请求之后,对包括记录标记的http请求进行记录。
19.进一步地,本发明实施例提供的http请求的记录装置还包括:
20.归一化模块,用于对http请求进行编码的归一化操作。
21.进一步地,所述拦截规则包括对静态资源请求不进行拦截。
22.进一步地,所述记录模块具体用于:
23.采用异步方式对包括记录标记的http请求进行记录。
24.进一步地,所述记录标记是基于http请求包括的请求路径设置的。
25.第三方面,本发明提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述http请求的记录方法。
26.第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述http请求的记录方法。
27.第五方面,本发明提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述http请求的记录方法。
28.本发明实施例提供的http请求的记录方法及装置,能够接收http请求,若判断获知http请求满足拦截规则,则对http请求进行拦截,若判断获知拦截的http请求中存在包括记录标记的http请求,则对包括记录标记的http请求进行记录,能够基于记录标记对需要记录的http请求进行记录,提高了http请求记录的便捷性。
附图说明
29.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
30.图1是本发明第一实施例提供的http请求的记录方法的流程示意图。
31.图2是本发明第二实施例提供的http请求的记录系统的原理示意图。
32.图3是本发明第三实施例提供的http请求的记录装置的结构示意图。
33.图4是本发明第四实施例提供的http请求的记录装置的结构示意图。
34.图5是本发明第五实施例提供的计算机设备的实体结构示意图。
具体实施方式
35.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互任意组合。
36.为了便于理解本技术提供的技术方案,下面先对本技术技术方案的相关内容进行说明。
37.现在的各个web应用都设有专门的模块负责请求及响应的收集记录,并且不同应用模块也会有不同的记录要求。本发明实施例提供的http请求的记录方法,通过自定义标记的方式,对有记录标记的http请求进行请求内容的详情记录,达到记录收集目的。
38.下面以服务器作为执行主体为例,对本发明实施例提供的http请求的记录方法的具体实现过程进行说明。
39.图1是本发明第一实施例提供的http请求的记录方法的流程示意图,如图1所示,
本发明实施例提供的http请求的记录方法,包括:
40.s101、接收http请求;
41.具体地,服务器可以接收http请求。其中,http请求根据实际需要进行设置,本发明实施例不做限定。
42.例如,用户在智能手机的浏览器网页上输入用户名和密码,并进行登录确认。智能手机向应用服务器发送登录请求,所述登录请求包括携带用户名和密码。
43.s102、若判断获知所述http请求满足拦截规则,则对所述http请求进行拦截;
44.具体地,所述服务器接收到所述http请求之后,会判断所述http请求是否满足拦截规则,如果所述http请求满足所述拦截规则,那么对所述http请求进行拦截。如果所述http请求不满足所述拦截规则,那么拦截所述http请求。其中,所述拦截规则是预设的,根据实际需要进行设置,本发明实施例不做限定。
45.例如,设置拦截请求对静态资源请求进行拦截,对于非静态资源请求不进行拦截。所述静态资源请求包括对图片、样式文件、js脚本文件的请求。
46.s103、若判断获知拦截的http请求中存在包括记录标记的http请求,则对包括记录标记的http请求进行记录。
47.具体地,所述服务器拦截http请求之后,判断拦截的http请求中是否包括记录标记,记录标记用于标识需要进行记录的http请求。如果拦截的http请求中有包括记录标记的http请求,那么对包括记录标记的http请求进行记录。如果拦截的http请求中有不包括记录标记的http请求,那么对于不包括记录标记的http请求,无需进行记录。其中,记录标记可以为编码或者字符串,根据实际需要进行设置,本发明实施例不做限定。
48.本发明实施例提供的http请求的记录方法,能够接收http请求,若判断获知http请求满足拦截规则,则对http请求进行拦截,若判断获知拦截的http请求中存在包括记录标记的http请求,则对包括记录标记的http请求进行记录,能够基于记录标记对需要记录的http请求进行记录,提高了http请求记录的便捷性。
49.在上述各实施例的基础上,进一步地,在判断获知所述http请求满足拦截规则之前,还包括:
50.对http请求进行编码的归一化操作。
51.具体地,所述服务器对http请求进行编码的归一化操作,比如,将不同的编码格式http请求统一转换为utf-8格式,以方便后续对http请求进行处理。
52.在上述各实施例的基础上,进一步地,所述拦截规则包括对静态资源请求不进行拦截。
53.具体地,可以设置拦截规则包括对静态资源请求不进行拦截,对于图片、样式文件、js脚本文件等http请求就不会进行拦截。通过拦截规则对无需拦截的http请求进行过滤,减少了需要拦截的http请求的数量,节约了系统的存储资料。
54.在上述各实施例的基础上,进一步地,所述对包括记录标记的http请求进行记录包括:
55.采用异步方式对包括记录标记的http请求进行记录。
56.具体地,对于包括记录标记的http请求,所述服务器会采用异步方式进行记录,即所述服务器可以在获得包括记录标记的http请求之后,不立即对包括记录标记的http请求
进行记录,可以启动一个线程对包括记录标记的http请求进行记录,该线程不立即执行,而是放到线程池中,稍后执行,以避免由于对http请求进行即时记录,而影响到http请求的正常处理,导致http请求响应不及时。
57.在上述各实施例的基础上,进一步地,所述记录标记是基于http请求包括的请求路径设置的。
58.具体地,不同的http请求包括的请求路径不同,对于需要进行记录的http请求,可以基于不同的请求路径设置不同的记录标记。在发送http请求时,会自动根据http请求的请求路径,为http请求生成对应的记录标识,使http请求携带相应地的记录标识。
59.图2是本发明第二实施例提供的http请求的记录系统的原理示意图,如图2所示,本发明实施例提供的http请求的记录系统包括标记生成器201、过滤器202、拦截器203、标记识别器204和请求记录器205,其中:
60.标记生成器201用于为http请求生成记录标记,可以对包括设定请求路径的http请求生成记录标记。过滤器202对接收到的http请求进行编码的归一化操作。拦截器203用于根据设置的拦截规则,对http请求进行拦截操作,拦截满足拦截规则的http请求。标记识别器204用于对拦截的http请求进行记录标记的识别,识别出有记录标记的http请求。请求记录器205用于对包括记录标记的http请求进行记录,记录http请求的相关信息。请求记录器205可以通过异步方式对http请求进行记录。
61.本发明实施例提供的http请求的记录方法,将http请求记录操作从业务代码中分离出来,对业务代码无侵入性;开发人员只需关注业务功能的实现即可。并且,能够对http请求有选择地进行记录,有记录标记的http请求,将会被记录请求。同时,可以为不同的http请求设置不同的记录标记,来为不同的http请求的接口指定特定的内容以及参数。通过灵活的配置,实现针对性的http请求的记录。采用异步线程池的方式来记录http请求,对资源消耗小。
62.图3是本发明第三实施例提供的http请求的记录装置的结构示意图,如图3所示,本发明实施例提供的http请求的记录装置包括接收模块301、拦截模块302和记录模块303,其中:
63.接收模块301用于接收http请求;拦截模块302用于在判断获知所述http请求满足拦截规则之后,对所述http请求进行拦截;记录模块303用于在判断获知拦截的http请求中存在包括记录标记的http请求之后,对包括记录标记的http请求进行记录。
64.具体地,接收模块301可以接收http请求。其中,http请求根据实际需要进行设置,本发明实施例不做限定。
65.接收到所述http请求之后,拦截模块302会判断所述http请求是否满足拦截规则,如果所述http请求满足所述拦截规则,那么对所述http请求进行拦截。如果所述http请求不满足所述拦截规则,那么拦截所述http请求。其中,所述拦截规则是预设的,根据实际需要进行设置,本发明实施例不做限定。
66.记录模块303拦截http请求之后,判断拦截的http请求中是否包括记录标记,记录标记用于标识需要进行记录的http请求。如果拦截的http请求中有包括记录标记的http请求,那么对包括记录标记的http请求进行记录。如果拦截的http请求中有不包括记录标记的http请求,那么对于不包括记录标记的http请求,无需进行记录。其中,记录标记可以为
编码或者字符串,根据实际需要进行设置,本发明实施例不做限定。
67.本发明实施例提供的http请求的记录装置,能够接收http请求,若判断获知http请求满足拦截规则,则对http请求进行拦截,若判断获知拦截的http请求中存在包括记录标记的http请求,则对包括记录标记的http请求进行记录,能够基于记录标记对需要记录的http请求进行记录,提高了http请求记录的便捷性。
68.图4是本发明第四实施例提供的http请求的记录装置的结构示意图,如图4所示,在上述各实施例的基础上,进一步地,本发明实施例提供的http请求的记录装置还包括归一化模块304,其中:
69.归一化模块304用于对http请求进行编码的归一化操作。
70.在上述各实施例的基础上,进一步地,所述拦截规则包括对静态资源请求不进行拦截。
71.在上述各实施例的基础上,进一步地,记录模块203具体用于:
72.采用异步方式对包括记录标记的http请求进行记录。
73.在上述各实施例的基础上,进一步地,所述记录标记是基于http请求包括的请求路径设置的。
74.本发明实施例提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
75.需要说明的是,本发明实施例提供的http请求的记录方法及装置可用于金融领域,也可用于除金融领域之外的任意技术领域,本发明实施例对http请求的记录方法及装置的应用领域不做限定。
76.图5是本发明一实施例提供的计算机设备的实体结构示意图,如图5所示,该计算机设备可以包括:处理器(processor)501、通信接口(communications interface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储器503中的逻辑指令,以执行如下方法:接收http请求;若判断获知所述http请求满足拦截规则,则对所述http请求进行拦截;若判断获知拦截的http请求中存在包括记录标记的http请求,则对包括记录标记的http请求进行记录。
77.此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
78.本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:接收http请求;若判断获知所述http请求满足拦截规则,则对所述http请求进行拦截;若判断获知拦截的
http请求中存在包括记录标记的http请求,则对包括记录标记的http请求进行记录。
79.本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:接收http请求;若判断获知所述http请求满足拦截规则,则对所述http请求进行拦截;若判断获知拦截的http请求中存在包括记录标记的http请求,则对包括记录标记的http请求进行记录。
80.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
81.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
82.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
83.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
84.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。