CN108512889B - 一种基于http的应用响应推送方法及代理服务器 - Google Patents
一种基于http的应用响应推送方法及代理服务器 Download PDFInfo
- Publication number
- CN108512889B CN108512889B CN201810030710.7A CN201810030710A CN108512889B CN 108512889 B CN108512889 B CN 108512889B CN 201810030710 A CN201810030710 A CN 201810030710A CN 108512889 B CN108512889 B CN 108512889B
- Authority
- CN
- China
- Prior art keywords
- http
- target
- application
- target port
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明适用于网络技术领域,提供了一种基于HTTP的应用响应推送方法及代理服务器。其中,一种基于HTTP的应用响应推送方法,通过接收通过应用发送的超文本传输协议HTTP请求,该HTTP用户标识、目标端口信息以及请求携带有终端的IP地址,根据IP地址从预设数据库中筛选出HTTP响应队列,再基于用户标识与HTTP请求,从HTTP响应队列中确定目标HTTP响应,由于该目标HTTP响应通过录制应用与服务器之间的HTTP交互流程得到,因此可以直接根据目标端口信息调用目标端口,向应用推送目标HTTP响应,使得HTTP交互流程更简单。
Description
技术领域
本发明属于网络技术领域,尤其涉及一种基于HTTP的应用响应推送方法及代理服务器。
背景技术
如今移动终端上大量的应用均是采用混合开发的方式,如基于全球广域网(WorldWide Web,Web)应用,其核心内容采用Web方式实现,应用与服务器之间的数据交互方式,相当于浏览器和服务器之间的数据交互方式,是通过超文本传输协议(Hyper Text TransferProtocol,HTTP)进行的,使得应用在任何类型的终端上运行,都能够基于HTTP协议进行消息推送。
现有技术中,可以通过在应用端与服务器端之间部署代理服务端,代理服务端可以直接从服务端下载部分资源至本地存储,当接收到应用端发送的HTTP请求时,可以直接从本地存储中获取相应的资源发送至应用端,但是,由于代理服务端的本地存储的资源大多为静态资源,与用户信息相关的资源并不会存储在代理服务端,因此对于一些用户信息安全要求较高的应用来说,如金融理财应用、支付应用等,只能通过代理服务端接收应用端发送的HTTP请求,再将该HTTP请求发送给服务端,进而接收服务端根据该HTTP请求返回的HTTP响应,最后将该HTTP响应推送给应用端,使得整个交互流程过于繁琐。
发明内容
有鉴于此,本发明实施例提供了一种响应HTTP请求的方法、服务器及计算机可读存储介质,可以解决了HTTP交互流程过于繁琐的问题。
本发明实施例的第一方面提供了一种响应HTTP请求的方法,包括:
接收通过应用发送的超文本传输协议HTTP请求,所述HTTP请求携带有用户标识、目标端口信息以及终端的网际协议IP地址;
根据所述IP地址从预设数据库中筛选出HTTP响应队列;
基于所述用户标识与所述HTTP请求,从所述HTTP响应队列中确定目标HTTP响应,其中,所述目标HTTP响应是通过录制所述应用与服务器之间的HTTP交互流程得到;
根据所述目标端口信息调用目标端口,向所述应用推送所述目标HTTP响应。
本发明实施例的第二方面提供了一种代理服务器,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机程序被处理器执行时实现上述第一方案所述方法的步骤。
本发明实施例通过接收通过应用发送的超文本传输协议HTTP请求,HTTP请求携带有用户标识、目标端口信息以及终端的网际协议IP地址,根据IP地址从预设数据库中筛选出HTTP响应队列,再基于用户标识与HTTP请求,从HTTP响应队列中确定目标HTTP响应,由于该目标HTTP响应通过录制应用与服务器之间的HTTP交互流程得到,因此可以直接根据目标端口信息调用目标端口,向应用推送目标HTTP响应,使得HTTP交互流程更简单。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于HTTP的应用响应推送方法的实现流程示意图;
图2是本发明另一实施例提供的一种基于HTTP的应用响应推送方法的实现流程示意图;
图3是本发明另一实施例提供的一种基于HTTP的应用响应推送方法步骤S25的具体实现流程图;
图4是本发明另一实施例提供的一种基于HTTP的应用响应推送方法步骤S26的具体实现流程图;
图5是本发明另一实施例提供的一种基于HTTP的应用响应推送方法步骤S262的具体实现流程图;
图6是本发明实施例提供的一种代理服务器的结构示意图;
图7是本发明实施例提供的一种代理服务器的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
参见图1,是本发明实施例提供一种基于HTTP的应用响应推送方法的实现流程图。本实施例中基于HTTP的应用响应推送方法的执行主体为代理服务器。如图1所示基于HTTP的应用响应推送方法可包括:
S11:接收通过应用发送的超文本传输协议HTTP请求,所述HTTP请求携带有用户标识、目标端口信息以及终端的网际协议IP地址。
在步骤S11中,HTTP请求中携带的终端的网际协议(Internet Protocol,IP)地址为运行客户端应用的终端所使用的IP地址,HTTP请求用于请求服务器生成相应的HTTP响应。
在本实施例中,接收通过应用发送HTTP请求,具体可以是通过调用应用中预先配置的应用程序编程端口(Application Programming Interface,API)发送HTTP请求,由代理服务器接收该HTTP请求。
需要说明的是,HTTP请求由请求行、请求报头以及请求正文组成,其中,用户标识、目标端口信息以及终端的IP地址均记录在请求报头中,HTTP请求的请求报头可划分为多个报头域,不同的报头域所表征的信息不同。
例如,User-Agent请求报头域,用于向服务器上报终端的IP地址、用户标识等信息。Host请求报头域,用于指定被请求资源的服务器和目标端口地址或目标端口编号。
在实际中,应用作为客户端,通过代理服务器与服务器进行HTTP交互,HTTP交互的流程大致如下,用户通过在终端上对应用进行操作,进而通过应用向代理服务器发送HTTP请求,代理服务器将该HTTP请求发送给服务器,该HTTP请求用于请求服务器生成相应的HTTP响应。服务器根据HTTP请求生成HTTP响应后,将该HTTP响应发送给代理服务器,再由代理服务器将该HTTP响应推送给终端应用。在HTTP交互过程中,无论是HTTP请求还是HTTP响应,均是基于传输控制协议(Transmission Control Protocol,TCP)链接进行,该TCP链接是一种基于字节流的传输层通信协议。也即,进行HTTP交互的过程中,HTTP请求和HTTP响应均是以TCP数据流的形式进行。
可以理解的是,在本申请的所有实施例中,代理服务器接收通过终端发送的HTTP请求是通过默认的通信端口进行接收。
S12:根据所述IP地址从预设数据库中筛选出HTTP响应队列。
在步骤S12中,预设数据库中存储有预先录制好的HTTP消息,HTTP消息包括:HTTP请求,与HTTP请求对应的HTTP响应。在预设数据库中,HTTP消息均是在服务器与应用之间进行HTTP交互时所产生,且与终端的IP地址相对应。
需要说明的是,预设数据库中存储的数据用于描述IP地址与HTTP消息之间的关系。在应用通过代理服务器与服务器进行HTTP交互时,IP地址不变的情况下,对应相同的IP地址,将录制得到的HTTP消息存储至预设数据库中,使得单个IP地址可以对应多组HTTP消息。
在本实施例中,IP地址是终端通过应用与服务器进行交互过程中所使用的IP地址,可以对HTTP请求的请求报头域进行解析后得到。
例如,对HTTP请求的中的User-Agent请求报头域进行扫描解析,进而识别该请求报头域中记载的IP地址。
由于代理服务器在同一时间内可能需要处理多个HTTP请求,为了避免代理服务器根据HTTP请求,向IP地址不同的终端返回HTTP响应,导致响应信息推送错乱的现象,在预设数据库中将IP地址与HTTP消息进行对应,使得根据IP地址从预设数据库中筛选得到的HTTP响应队列中的每个HTTP响应均与该IP地址所指向的终端上的应用有关。
需要说明的是,HTTP响应由状态行、响应报头信息以及响应正文组成,其中,响应报头信息包括:服务器信息以及根据HTTP请求中的用户标识生成的资源配置标识。HTTP响应的响应报头信息可包括多个报头域,不同的报头域所表征的信息不同。
例如,Server响应报头域,与HTTP请求中的User-Agent请求报头域相对应,该Server响应报头域,包含了服务器用来处理HTTP请求时的资源信息,即服务器信息以及根据HTTP请求中的用户标识生成的资源配置标识。
作为本实施例一种可能实现的方式,代理服务器接收到通过应用发送的HTTP请求后,通过对该HTTP请求的请求报头进行解析,进而得到终端的IP地址,根据该IP地址从预设数据库中筛选出HTTP响应队列,其中,对HTTP请求的请求报头进行解析,具体可以是对User-Agent请求报头域进行扫描,进而识别出该User-Agent请求报头域中记载的IP地址。
可以理解的是,在本申请的其他实施例中,终端的IP地址也可以被保存在HTTP请求的请求正文部分中,代理服务器可以通过对HTTP请求的请求正文部分进行解析,进而获取终端的IP地址。
S13:基于所述用户标识与所述HTTP请求,从所述HTTP响应队列中确定目标HTTP响应。
在步骤S13中,目标HTTP响应是通过录制所述应用与服务器之间的HTTP交互流程得到,该目标HTTP响应为服务器根据HTTP请求生成的响应。
在本实施例中,HTTP响应队列是根据IP地址从预设数据库中筛选得出,即该HTTP响应队列中的每个HTTP响应,均是由IP地址对应的终端通过应用发送HTTP请求后,由服务器生成的HTTP响应。
需要说明的是,用户标识用于表征HTTP请求的权限,即终端通过应用向服务器请求获取资源时,服务器依据用户标识信息决定是否对该HTTP请求返回相应的HTTP响应。HTTP响应队列中的每个HTTP响应,均为终端通过应用与服务器进行HTTP交互过程中,服务器对HTTP请求已进行响应得到的HTTP响应。
S14:根据所述目标端口信息调用目标端口,向所述应用推送所述目标HTTP响应。
在步骤S14中,目标端口信息用于描述代理服务器向终端的应用推送目标HTTP响应时所选用的目标端口,目标端口信息可以为目标端口的IP地址或者端口编号。
以端口信息为端口编号为例,假设端口编号为01,则根据目标端口信息调用目标端口,即调用端口编号为01的端口作为目标端口,向应用推送目标HTTP响应。
为了使代理服务器能够有序地对HTTP请求进行响应,在代理服务器根据目标端口信息调用目标端口向应用推送HTTP响应时,可以先通过判断该目标端口当前是否可被调用,在目标端口可被调用时,调用该目标端口向应用发送目标HTTP响应。
可以理解的是,判断目标端口是否可被调用,取决于该目标端口当前状态,即目标端口是否被占用。在判断目标端口是否可被调用时,可以根据目标端口信息,获取目标端口信息所指向的目标端口的当前状态,进而判断该目标端口是否可被调用。
以上可以看出,本发明实施例通过接收通过应用发送的超文本传输协议HTTP请求,HTTP请求携带有用户标识、目标端口信息以及终端的网际协议IP地址,根据IP地址从预设数据库中筛选出HTTP响应队列,再基于用户标识与HTTP请求,从HTTP响应队列中确定目标HTTP响应,由于该目标HTTP响应通过录制应用与服务器之间的HTTP交互流程得到,因此可以直接根据目标端口信息调用目标端口,向应用推送目标HTTP响应,使得HTTP交互流程更简单。
参见图2,图2是本发明另一实施例提供一种基于HTTP的应用响应推送方法的示意流程图。本实施例是在上一实施例的基础上,对接收通过应用发送的HTTP请求的步骤之前的操作步骤做进一步地限定。如图2所示,本发明另一实施例提供的基于HTTP的应用响应推送方法可包括:
S21:录制所述服务器与所述应用之间的HTTP交互流程中产生的HTTP消息。
在步骤S21中,应用为客户端,通过代理服务器与服务器进行HTTP交互。录制服务器与应用之间的HTTP交互流程中产生的HTTP消息,即为录制服务器与应用客户端之间的HTTP消息,该HTTP消息包括HTTP请求和HTTP响应,其中,HTTP请求由应用发送,HTTP响应为服务器根据HTTP请求返回的响应消息。
在本实施例中,HTTP请求和HTTP响应均是以TCP数据流的形式进行传输,录制服务器与应用之间的HTTP消息相当于对服务器与应用之间TCP数据流进行录制,也即存储服务器与应用之间的TCP数据流。
S22:将所述IP地址与所述HTTP消息对应存储至所述预设数据库中。
在步骤S22中,预设数据库中存储的数据用于描述IP地址与HTTP消息之间的关系。
在本实施例中,IP地址可以是在对HTTP消息进行录制的过程中,通过解析HTTP消息中的HTTP请求的请求报头得到。
在本申请的其他实施例中,IP地址也可以是在应用与代理服务器建立TCP链接的过程中,通过解析应用与服务器之间的握手信号得到。
在实际应用中,由于代理服务器在同一时间内需要处理多个HTTP请求,在预设数据库中将IP地址与HTTP消息进行对应,使得根据IP地址从预设数据库中筛选得到的HTTP响应队列中的每个HTTP响应均与该IP地址所指向的终端上的应用有关,可以避免代理服务器根据HTTP请求,向不相关的终端上的应用返回HTTP响应导致推送应用响应操作错乱的现象。
S23:接收通过应用发送的超文本传输协议HTTP请求,所述HTTP请求携带有用户标识、目标端口信息以及终端的网际协议IP地址。
S24:根据所述IP地址从预设数据库中筛选出HTTP响应队列。
S25:基于所述用户标识与所述HTTP请求,从所述HTTP响应队列中确定目标HTTP响应。
在步骤S25中,目标HTTP响应是通过录制所述应用与服务器之间的HTTP交互流程得到,该目标HTTP响应为服务器根据HTTP请求生成的响应。
在本实施例中,HTTP响应队列是根据IP地址从预设数据库中筛选得出,即该HTTP响应队列中的每个HTTP响应,均是由IP地址对应的终端通过应用发送HTTP请求后,由服务器生成的HTTP响应。
需要说明的是,用户标识用于表征HTTP请求的权限,即终端通过应用向服务器请求获取资源时,服务器依据用户标识信息决定是否对该HTTP请求返回相应的HTTP响应。HTTP响应队列中的每个HTTP响应,均为终端通过应用与服务器进行HTTP交互过程中,服务器对HTTP请求已进行响应得到的HTTP响应。
作为本实施例一种可能实现的方式,在上述各个实施例的基础上,对确定目标HTTP响应的方式做进一步地限定。如图3所示,步骤S25具体包括:
S251:获取所述HTTP响应队列中每个所述HTTP响应的响应报头信息。
在步骤S251中,响应报头信息包括:根据用户标识生成的资源配置标识和服务器信息。
需要说明的是,HTTP响应由状态行、响应报头信息以及响应正文组成,其中,响应报头信息包括:服务器信息以及根据用户标识生成的资源配置标识。HTTP响应的响应报头信息可包括多个报头域,不同的报头域所表征的信息不同。
在实际应用中,服务器根据HTTP请求生成相应的HTTP响应,该HTTP响应的响应报头信息中包含有资源配置标识,该资源配置标识是服务器识别HTTP请求中的用户标识后,根据该用户标识确定响应HTTP请求的服务过程的标识,服务器信息用于区分根据HTTP请求生成HTTP响应的服务器。
S252:从所述HTTP响应队列中筛选出目标HTTP响应队列。
在步骤S252中,目标HTTP响应队列中的每个HTTP响应的资源配置标识与用户标识相匹配。
需要说明的是,服务器根据用户标识可以确定对HTTP请求进行何种响应以及响应过程中的处理过程。针对请求内容不同的HTTP请求,服务器进行处理的流程也不同,从HTTP响应队列中筛选出目标HTTP响应队列,能够滤除服务器根据HTTP请求进行处理时,处理流程不同的HTTP响应。
S253:将所述目标HTTP响应队列中,所述服务器信息与所述HTTP请求相匹配的HTTP响应识别为目标HTTP响应。
在步骤S253中,目标HTTP响应的响应报头信息中,服务器信息与HTTP请求相匹配,即表示该目标HTTP响应的响应正文的内容,为服务器根据该HTTP请求配置的资源。
在本申请的所有实施例中,目标HTTP响应中响应报头信息的资源配置标识与HTTP请求中携带的用户标识相匹配,目标HTTP响应中的响应正文与HTTP请求的请求正文相匹配。
S26:根据所述目标端口信息调用目标端口,向所述应用推送所述目标HTTP响应。
在步骤S26中,目标端口信息用于描述代理服务器向终端的应用推送目标HTTP响应时所选用的目标端口,目标端口信息可以为目标端口的IP地址或者端口编号。
结合步骤S21至步骤S26,在应用与服务器进行HTTP交互过程中,通过录制服务器与应用之间的HTTP消息,并将IP地址与HTTP消息对应存储至预设数据库中。在代理服务器接收通过应用发送的HTTP请求时,代理服务器根据HTTP请求携带的IP地址从预设数据库中筛选出HTTP响应队列,再通过获取HTTP响应队列中每个HTTP响应的响应报头信息,根据每个HTTP响应的响应报头信息,从HTTP响应队列中筛选出资源配置标识与用户标识相匹配的目标HTTP响应队列,再将目标HTTP响应队列中,服务器信息与HTTP请求相匹配的HTTP响应识别为目标HTTP响应,最后根据目标端口信息调用目标端口向应用推送目标HTTP响应。
作为本实施例一种可能实现的方式,在上述各个实施例的基础上,对调用目标端口向应用推送目标HTTP响应的方式做进一步地限定。如图4所示,步骤S26具体包括:
S261:根据所述目标端口信息查询所述目标端口的进程列表。
S262:根据所述进程列表判断所述目标端口是否能被调用。
S263:若所述目标端口能被调用,则根据所述目标端口信息,调用所述目标端口向所述应用推送所述目标HTTP响应。
S264:若所述目标端口不能被调用,则调整所述进程列表,在所述目标端口能被调用时,根据所述目标端口信息,调用所述目标端口向所述应用推送所述目标HTTP响应。
在本实施例中,判断目标端口是否可被调用,是根据目标端口信息,获取目标端口信息所指向的目标端口的进程列表,进而判断该目标端口是否可被调用。
可以理解的是,调整进程列表,可以是对目标端口的进程列表中的部分进程进行中断或终止,使得目标端口能在当前被用于向应用推送目标HTTP响应。
作为本实施例一种可能实现的方式,在上述个实施例的基础上,对根据进程列表判断目标端口是否能被调用的方式做进一步地限定。如图5所示,步骤S262具体包括:
S2621:获取所述进程列表中的进程个数。
S2622:若所述进程列表中的进程个数小于所述目标端口预设的满载进程个数,则判定所述目标端口当前能被调用。
S2623:若所述进程列表中的进程个数等于或大于所述目标端口预设的满载进程个数,则判定所述目标端口当前不能被调用。
需要说明的是,由于代理服务器在对HTTP请求进行处理过程中,需要配置不同的端口进行数据的收发,因此不同的目标端口可以对应不同的满载进程个数。
以上可以看出,本发明实施例通过接收通过应用发送的超文本传输协议HTTP请求,HTTP请求携带有用户标识、目标端口信息以及终端的网际协议IP地址,根据IP地址从预设数据库中筛选出HTTP响应队列,再基于用户标识与HTTP请求,从HTTP响应队列中确定目标HTTP响应,由于该目标HTTP响应通过录制应用与服务器之间的HTTP交互流程得到,因此可以直接根据目标端口信息调用目标端口,向应用推送目标HTTP响应,使得HTTP交互流程更简单。
通过根据目标端口信息查询目标端口的进程列表,根据进程列表判断目标端口是否能被调用,若目标端口能被调用,则根据目标端口信息,调用目标端口向应用推送目标HTTP响应,若目标端口不能被调用,则调整进程列表,在目标端口能被调用时,根据目标端口信息,调用目标端口向所述应用推送目标HTTP响应,在保证了代理服务器能够对HTTP请求进行及时的响应。
参见图6,图6是本发明实施例提供的一种代理服务器的结构示意图。本实施例的一种代理服务器30包括的各单元用于执行图2对应的实施例中的各步骤,具体请参阅图2及图2对应的实施例中的相关描述,此处不赘述。本实施例的一种代理服务器30包括:录制单元31、存储单元32、接收单元33、筛选单元34、确定单元35以及推送单元36。具体地:
录制单元31,用于录制所述服务器与所述应用之间的HTTP交互流程中产生的HTTP消息,所述HTTP消息包括所述HTTP请求和所述HTTP响应。
存储单元32,用于将所述IP地址与所述HTTP消息对应存储至所述预设数据库中。
接收单元33,用于接收通过应用发送的超文本传输协议HTTP请求,所述HTTP请求携带有终端的网际协议IP地址、用户标识以及目标端口信息。
筛选单元34,用于根据所述IP地址从预设数据库中筛选出HTTP响应队列。
确定单元35,用于基于所述用户标识与所述HTTP请求,从所述HTTP响应队列中确定目标HTTP响应,其中,所述目标HTTP响应是通过录制所述应用与服务器之间的HTTP交互流程得到。
进一步地,作为本实施例一种可能实现的方式,确定单元35具体用于,获取所述HTTP响应队列中每个所述HTTP响应的响应报头信息,所述响应报头信息包括:根据所述用户标识生成的资源配置标识和服务器信息;从所述HTTP响应队列中筛选出目标HTTP响应队列,所述目标HTTP响应队列中的每个HTTP响应的资源配置标识与所述用户标识相匹配;将所述目标HTTP响应队列中,所述服务器信息与所述HTTP请求相匹配的HTTP响应识别为目标HTTP响应。
推送单元36,用于根据所述目标端口信息调用目标端口,向所述应用推送所述目标HTTP响应。
进一步地,作为本实施例一种可能实现的方式,推送单元36具体用于,根据所述目标端口信息查询所述目标端口的进程列表;根据所述进程列表判断所述目标端口是否能被调用;若所述目标端口能被调用,则根据所述目标端口信息,调用所述目标端口向所述应用推送所述目标HTTP响应;若所述目标端口不能被调用,则调整所述进程列表,在所述目标端口能被调用时,根据所述目标端口信息,调用所述目标端口向所述应用推送所述目标HTTP响应。
进一步地,作为本实施例一种可能实现的方式,推送单元36还用于,获取所述进程列表中的进程个数;若所述进程列表中的进程个数小于所述目标端口预设的满载进程个数,则判定所述目标端口当前能被调用;若所述进程列表中的进程个数等于或大于所述目标端口预设的满载进程个数,则判定所述目标端口当前不能被调用。
以上可以看出,本发明实施例通过接收通过应用发送的超文本传输协议HTTP请求,HTTP请求携带有用户标识、目标端口信息以及终端的网际协议IP地址,根据IP地址从预设数据库中筛选出HTTP响应队列,再基于用户标识与HTTP请求,从HTTP响应队列中确定目标HTTP响应,由于该目标HTTP响应通过录制应用与服务器之间的HTTP交互流程得到,因此可以直接根据目标端口信息调用目标端口,向应用推送目标HTTP响应,使得HTTP交互流程更简单。
通过根据目标端口信息查询目标端口的进程列表,根据进程列表判断目标端口是否能被调用,若目标端口能被调用,则根据目标端口信息,调用目标端口向应用推送目标HTTP响应,若目标端口不能被调用,则调整进程列表,在目标端口能被调用时,根据目标端口信息,调用目标端口向所述应用推送目标HTTP响应,在保证了代理服务器能够对HTTP请求进行及时的响应。
参见图7,是本发明另一实施例提供的一种代理服务器示意图。如图所示的本实施例中的代理服务器400可以包括:一个或多个处理器401;一个或多个输入设备402,一个或多个输出设备403和存储器404。上述处理器401、输入设备402、输出设备403和存储器404通过总线405连接。存储器404用于存储,计算机程序包括指令,处理器401通过调用存储器404存储的计算机程序执行如下操作:
处理器401用于:接收通过应用发送的超文本传输协议HTTP请求,所述HTTP请求携带有用户标识、目标端口信息以及终端的网际协议IP地址。
处理器401用于:根据所述IP地址从预设数据库中筛选出HTTP响应队列。
处理器401用于:基于所述用户标识与所述HTTP请求,从所述HTTP响应队列中确定目标HTTP响应,其中,所述目标HTTP响应是通过录制所述应用与服务器之间的HTTP交互流程得到。
处理器401用于:根据所述目标端口信息调用目标端口,向所述应用推送所述目标HTTP响应。
处理器401还用于:录制所述服务器与所述应用之间的HTTP交互流程中产生的HTTP消息,所述HTTP消息包括所述HTTP请求和所述HTTP响应。
处理器401还用于:将所述IP地址与所述HTTP消息对应存储至所述预设数据库中。
处理器401具体用于:获取所述HTTP响应队列中每个所述HTTP响应的响应报头信息,所述响应报头信息包括:根据所述用户标识生成的资源配置标识和服务器信息;从所述HTTP响应队列中筛选出目标HTTP响应队列,所述目标HTTP响应队列中的每个HTTP响应的资源配置标识与所述用户标识相匹配;将所述目标HTTP响应队列中,所述服务器信息与所述HTTP请求相匹配的HTTP响应识别为目标HTTP响应。
处理器401具体用于:根据所述目标端口信息查询所述目标端口的进程列表;根据所述进程列表判断所述目标端口是否能被调用;若所述目标端口能被调用,则根据所述目标端口信息,调用所述目标端口向所述应用推送所述目标HTTP响应;若所述目标端口不能被调用,则调整所述进程列表,在所述目标端口能被调用时,根据所述目标端口信息,调用所述目标端口向所述应用推送所述目标HTTP响应。
处理器401具体用于:获取所述进程列表中的进程个数;若所述进程列表中的进程个数小于所述目标端口预设的满载进程个数,则判定所述目标端口当前能被调用;若所述进程列表中的进程个数等于或大于所述目标端口预设的满载进程个数,则判定所述目标端口当前不能被调用。
应当理解,在本发明实施例中,所称处理器501可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备402可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备403可以包括显示器(LCD等)、扬声器等。
该存储器404可以包括只读存储器和随机存取存储器,并向处理器401提供指令和数据。存储器404的一部分还可以包括非易失性随机存取存储器。例如,存储器404还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器401、输入设备402、输出设备403可执行本发明实施例提供的一种基于HTTP的应用响应推送方法的第一实施例和第二实施例中所描述的实现方式,也可执行本发明实施例所描述的设备的实现方式,在此不再赘述。
在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现:
接收通过应用发送的超文本传输协议HTTP请求,所述HTTP请求携带有用户标识、目标端口信息以及终端的网际协议IP地址;
根据所述IP地址从预设数据库中筛选出HTTP响应队列;
基于所述用户标识与所述HTTP请求,从所述HTTP响应队列中确定目标HTTP响应,其中,所述目标HTTP响应是通过录制所述应用与服务器之间的HTTP交互流程得到;
根据所述目标端口信息调用目标端口,向所述应用推送所述目标HTTP响应。
所述计算机程序被处理器执行时还实现:
录制所述服务器与所述应用之间的HTTP交互流程中产生的HTTP消息,所述HTTP消息包括所述HTTP请求和所述HTTP响应;
将所述IP地址与所述HTTP消息对应存储至所述预设数据库中。
所述计算机程序被处理器执行时还实现:
获取所述HTTP响应队列中每个所述HTTP响应的响应报头信息,所述响应报头信息包括:根据所述用户标识生成的资源配置标识和服务器信息;
从所述HTTP响应队列中筛选出目标HTTP响应队列,所述目标HTTP响应队列中的每个HTTP响应的资源配置标识与所述用户标识相匹配;
将所述目标HTTP响应队列中,所述服务器信息与所述HTTP请求相匹配的HTTP响应识别为目标HTTP响应。
所述计算机程序被处理器执行时还实现:
根据所述目标端口信息查询所述目标端口的进程列表;
根据所述进程列表判断所述目标端口是否能被调用;
若所述目标端口能被调用,则根据所述目标端口信息,调用所述目标端口向所述应用推送所述目标HTTP响应;
若所述目标端口不能被调用,则调整所述进程列表,在所述目标端口能被调用时,根据所述目标端口信息,调用所述目标端口向所述应用推送所述目标HTTP响应。
所述计算机程序被处理器执行时还实现:
获取所述进程列表中的进程个数;
若所述进程列表中的进程个数小于所述目标端口预设的满载进程个数,则判定所述目标端口当前能被调用;
若所述进程列表中的进程个数等于或大于所述目标端口预设的满载进程个数,则判定所述目标端口当前不能被调用。
以上可以看出,本发明实施例通过接收通过应用发送的超文本传输协议HTTP请求,HTTP请求携带有用户标识、目标端口信息以及终端的网际协议IP地址,根据IP地址从预设数据库中筛选出HTTP响应队列,再基于用户标识与HTTP请求,从HTTP响应队列中确定目标HTTP响应,由于该目标HTTP响应通过录制应用与服务器之间的HTTP交互流程得到,因此可以直接根据目标端口信息调用目标端口,向应用推送目标HTTP响应,使得HTTP交互流程更简单。
通过根据目标端口信息查询目标端口的进程列表,根据进程列表判断目标端口是否能被调用,若目标端口能被调用,则根据目标端口信息,调用目标端口向应用推送目标HTTP响应,若目标端口不能被调用,则调整进程列表,在目标端口能被调用时,根据目标端口信息,调用目标端口向所述应用推送目标HTTP响应,在保证了代理服务器能够对HTTP请求进行及时的响应。
所述计算机可读存储介质可以是前述任一实施例所述的设备的内部存储单元,例如计算机的硬盘或内存。所述计算机可读存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种基于HTTP的应用响应推送方法,其特征在于,包括:
录制服务器与应用之间的超文本传输协议HTTP交互流程中产生的HTTP消息,所述HTTP消息包括HTTP请求和HTTP响应;所述HTTP请求携带有用户标识、目标端口信息以及终端的网际协议IP地址;
将所述IP地址与所述HTTP消息对应存储至预设数据库中;
接收终端通过所述应用发送的HTTP请求;
根据所述终端通过所述应用发送的HTTP请求中携带的IP地址从所述预设数据库中筛选出HTTP响应队列;
基于所述终端通过所述应用发送的HTTP请求,以及该HTTP请求中携带的用户标识,从所述HTTP响应队列中确定目标HTTP响应;
根据所述终端通过所述应用发送的HTTP请求中携带的目标端口信息,调用目标端口向所述应用推送所述目标HTTP响应。
2.如权利要求1所述的应用响应推送方法,其特征在于,所述基于所述终端通过所述应用发送的HTTP请求,以及该HTTP请求中携带的用户标识,从所述HTTP响应队列中确定目标HTTP响应,包括:
获取所述HTTP响应队列中每个所述HTTP响应的响应报头信息,所述响应报头信息包括:根据所述用户标识生成的资源配置标识和服务器信息;
从所述HTTP响应队列中筛选出目标HTTP响应队列,所述目标HTTP响应队列中的每个HTTP响应的资源配置标识与所述用户标识相匹配;
将所述目标HTTP响应队列中,所述服务器信息与所述终端通过所述应用发送的HTTP请求相匹配的HTTP响应识别为目标HTTP响应。
3.如权利要求1所述的应用响应推送方法,其特征在于,所述根据所述终端通过所述应用发送的HTTP请求中携带的目标端口信息,调用目标端口向所述应用推送所述目标HTTP响应,包括:
根据所述终端通过所述应用发送的HTTP请求中携带的目标端口信息查询所述目标端口的进程列表;
根据所述进程列表判断所述目标端口是否能被调用;
若所述目标端口能被调用,则根据所述目标端口信息,调用所述目标端口向所述应用推送所述目标HTTP响应;
若所述目标端口不能被调用,则调整所述进程列表,在所述目标端口能被调用时,根据所述目标端口信息,调用所述目标端口向所述应用推送所述目标HTTP响应。
4.如权利要求3所述的应用响应推送方法,其特征在于,所述根据所述进程列表判断所述目标端口是否能被调用,包括:
获取所述进程列表中的进程个数;
若所述进程列表中的进程个数小于所述目标端口预设的满载进程个数,则判定所述目标端口当前能被调用;
若所述进程列表中的进程个数等于或大于所述目标端口预设的满载进程个数,则判定所述目标端口当前不能被调用。
5.一种代理服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:
录制服务器与应用之间的超文本传输协议HTTP交互流程中产生的HTTP消息,所述HTTP消息包括HTTP请求和HTTP响应;所述HTTP请求携带有用户标识、目标端口信息以及终端的网际协议IP地址;
将所述IP地址与所述HTTP消息对应存储至预设数据库中;
接收终端通过所述应用发送的HTTP请求;
根据所述终端通过所述应用发送的HTTP请求中携带的IP地址从预设数据库中筛选出HTTP响应队列;
基于所述终端通过所述应用发送的HTTP请求,以及该HTTP请求中携带的用户标识,从所述HTTP响应队列中确定目标HTTP响应;
根据所述终端通过所述应用发送的HTTP请求中携带的目标端口信息,调用目标端口向所述应用推送所述目标HTTP响应。
6.如权利要求5所述的代理服务器,其特征在于,所述基于所述终端通过所述应用发送的HTTP请求,以及该HTTP请求中携带的用户标识,从所述HTTP响应队列中确定目标HTTP响应,包括:
获取所述HTTP响应队列中每个所述HTTP响应的响应报头信息,所述响应报头信息包括:根据所述用户标识生成的资源配置标识和服务器信息;
从所述HTTP响应队列中筛选出目标HTTP响应队列,所述目标HTTP响应队列中的每个HTTP响应的资源配置标识与所述用户标识相匹配;
将所述目标HTTP响应队列中,所述服务器信息与所述终端通过所述应用发送的HTTP请求相匹配的HTTP响应识别为目标HTTP响应。
7.如权利要求5所述的代理服务器,其特征在于,所述根据所述终端通过所述应用发送的HTTP请求中携带的目标端口信息,调用目标端口向所述应用推送所述目标HTTP响应,包括:
根据所述终端通过所述应用发送的HTTP请求中携带的目标端口信息查询所述目标端口的进程列表;
根据所述进程列表判断所述目标端口是否能被调用;
若所述目标端口能被调用,则根据所述目标端口信息,调用所述目标端口向所述应用推送所述目标HTTP响应;
若所述目标端口不能被调用,则调整所述进程列表,在所述目标端口能被调用时,根据所述目标端口信息,调用所述目标端口向所述应用推送所述目标HTTP响应。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810030710.7A CN108512889B (zh) | 2018-01-12 | 2018-01-12 | 一种基于http的应用响应推送方法及代理服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810030710.7A CN108512889B (zh) | 2018-01-12 | 2018-01-12 | 一种基于http的应用响应推送方法及代理服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108512889A CN108512889A (zh) | 2018-09-07 |
CN108512889B true CN108512889B (zh) | 2021-07-02 |
Family
ID=63374745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810030710.7A Active CN108512889B (zh) | 2018-01-12 | 2018-01-12 | 一种基于http的应用响应推送方法及代理服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108512889B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111988200B (zh) * | 2020-08-18 | 2022-03-08 | 湖南快乐阳光互动娱乐传媒有限公司 | 基于真实流量的自动回归测试方法及装置 |
CN112202717B (zh) * | 2020-09-02 | 2023-09-05 | 深信服科技股份有限公司 | 一种http请求的处理方法、装置、服务器及存储介质 |
CN114285643A (zh) * | 2021-12-24 | 2022-04-05 | 北京京东振世信息技术有限公司 | 访问请求处理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1705267A (zh) * | 2004-05-25 | 2005-12-07 | 联想(北京)有限公司 | 网络上客户端使用服务端资源的方法 |
CN102292708A (zh) * | 2008-11-25 | 2011-12-21 | 思杰系统有限公司 | 用于策略的http调出的系统和方法 |
-
2018
- 2018-01-12 CN CN201810030710.7A patent/CN108512889B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1705267A (zh) * | 2004-05-25 | 2005-12-07 | 联想(北京)有限公司 | 网络上客户端使用服务端资源的方法 |
CN102292708A (zh) * | 2008-11-25 | 2011-12-21 | 思杰系统有限公司 | 用于策略的http调出的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108512889A (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102137059B (zh) | 一种恶意访问的拦截方法和系统 | |
US11907700B2 (en) | Upgrading method and system, server, and terminal device | |
CN102904959B (zh) | 网络加速方法和网关 | |
CN111026982A (zh) | 智能合约处理方法、计算机设备及存储介质 | |
CN108512889B (zh) | 一种基于http的应用响应推送方法及代理服务器 | |
CN107465693B (zh) | 请求消息处理方法和装置 | |
CN112261094A (zh) | 一种报文处理方法及代理服务器 | |
CN114124929A (zh) | 跨网络的数据处理方法和装置 | |
KR20220167388A (ko) | 데이터 처리 방법, 장치, 컴퓨터 디바이스, 및 저장 매체 | |
CN113360301A (zh) | 一种消息传输系统及方法 | |
CN107332854B (zh) | 一种报文序列化协商方法及服务提供设备 | |
CN114090623A (zh) | 一种缓存资源的创建方法、装置、电子设备及存储介质 | |
CN112702336A (zh) | 政务服务的安全控制方法、装置、安全网关及存储介质 | |
CN110572476B (zh) | 一种远程控制方法、装置及设备 | |
CN113014610B (zh) | 一种远程访问方法、装置及系统 | |
CN110852744A (zh) | 一种切换交易通道的方法、装置、终端设备及介质 | |
CN113285920B (zh) | 业务访问方法、装置、设备及存储介质 | |
CN105915639B (zh) | 页面访问方法及装置 | |
CN115374207A (zh) | 业务处理方法及装置、电子设备和计算机可读存储介质 | |
CN114244758A (zh) | 安卓平台的网络诊断方法、存储介质、电子设备及系统 | |
CN108667863B (zh) | 一种基于本地代理的web业务适配系统及方法 | |
CN111049795A (zh) | 分布式Web应用的敏感数据未加密漏洞的检测方法及装置 | |
CN111131369A (zh) | App使用情况的传输方法、装置、电子设备及存储介质 | |
CN112929321B (zh) | 一种鉴权方法、装置及终端设备 | |
CN114390088B (zh) | 一种edps通过opc ua客户端与opc ua服务端的交互方法以及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |