本申请涉及网络安全,尤其涉及一种http报文的处理方法、装置、电子设备及存储介质。
背景技术:
1、互联网技术的不断发展,促进了信息的快速传递和共享,同时也带来了一些安全问题。例如:恶意第三方会从传输的数据中盗取用户的信息。而超文本传输协议(hypertext transfer protocol,http)报文作为网络传输的基本单位,也是实现信息盗取的主要对象。因此,在http报文传输前,需要对http报文进行改写,以确保http报文的安全传输,进而确保http报文的相关信息的安全。
2、目前,处理http报文的主要方式为:从数据流中确定出需要改写的http报文,然后对http报文进行解析,并将解析后的http报文进行相关匹配,找出http报文中需要改写的内容,接着就可以对找出的内容进行改写。最后,将改写后的http报文进行转发。
3、然而,在上述http报文处理的过程中,http报文本身处于用户态,而http报文的处理需要在内核态进行。也就是说,对于http报文的每一步处理,都需要将http报文从用户态拷贝到内核态进行,在内核态对http报文处理完成后,再将处理后的http报文拷贝回用户态。即,用户态将http报文拷贝到内核态进行解析,内核态将解析后的报文拷贝回用户态,用户态再将解析后的报文拷贝到内核态进行匹配,内核态再将匹配后的报文拷贝回用户态,用户态再将匹配后的报文拷贝到内核态进行改写。最后,通过内核态中的传输控制协议(transmission control protocol,tcp)代理协议栈将改写的报文转发出去。http报文在用户态与内核态之间频繁的进行切换、拷贝,会降低http报文的处理效率。
技术实现思路
1、本申请实施例的目的是提供一种http报文的处理方法、装置、电子设备及存储介质,以提高http报文的处理效率。
2、为解决上述技术问题,本申请实施例提供如下技术方案:
3、本申请第一方面提供一种http报文的处理方法,所述方法应用于用户态,所述用户态配置有代理协议栈,所述代理协议栈中定义有对http报文进行匹配、改写和转发相关的协议规则,所述方法包括:在所述用户态下,获取流数据;通过所述代理协议栈,从所述流数据中匹配出符合改写策略的http报文,并对所述http报文进行改写,将改写后的http报文进行转发。
4、本申请第二方面提供一种http报文的处理装置,所述装置应用于用户态,所述用户态配置有代理协议栈,所述代理协议栈中定义有对http报文进行匹配、改写和转发相关的协议规则,所述装置包括:获取模块,用于在所述用户态下,获取流数据;处理模块,用于通过所述代理协议栈,从所述流数据中匹配出符合改写策略的http报文,并对所述http报文进行改写,将改写后的http报文进行转发。
5、本申请第三方面提供一种电子设备,所述电子设备包括:处理器、存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行第一方面中的方法。
6、本申请第四方面提供一种计算机可读存储介质,所述存储介质包括:存储的程序;其中,在所述程序运行时控制所述存储介质所在设备执行第一方面中的方法。
7、相较于现有技术,本申请第一方面提供的http报文的处理方法,通过在用户态中配置对http报文进行匹配、改写和转发相关协议规则的代理协议栈,这样,用户态获取到流数据后,无需借助内核态,在用户态就可以通过其中的代理协议栈从流数据中匹配出需要进行改写的http报文,进而对http报文进行改写、转发等操作,避免http报文在用户态与内核态之间的频繁拷贝,进而提高http报文的处理效率。
8、本申请第二方面提供的http报文的处理装置、第三方面提供的电子设备、第四方面提供的计算机可读存储介质,与第一方面提供的http报文的处理方法具有相同或相似的有益效果。
1.一种http报文的处理方法,其特征在于,所述方法应用于用户态,所述用户态配置有代理协议栈,所述代理协议栈中定义有对http报文进行匹配、改写和转发相关的协议规则,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在对所述http报文进行改写之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,在从内存池中调用内存之前,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述从所述内存池中调用所述数据量对应的内存,包括:
5.根据权利要求1至4中任一项所述的方法,其特征在于,在对所述http报文进行改写之前,所述方法还包括:
6.根据权利要求1至4中任一项所述的方法,其特征在于,在对所述http报文进行改写之前,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,在将所述剩余报文与第二匹配规则进行匹配之前,所述方法还包括:
8.根据权利要求1至4中任一项所述的方法,其特征在于,在对所述http报文进行改写之前,所述方法还包括:
9.一种http报文的处理装置,其特征在于,所述装置应用于用户态,所述用户态配置有代理协议栈,所述代理协议栈中定义有对http报文进行匹配、改写和转发相关的协议规则,所述装置包括:
10.一种电子设备,其特征在于,所述电子设备包括:处理器、存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质包括:存储的程序;其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1至8中任一项所述的方法。