CN114051022A - Http请求处理方法及装置 - Google Patents
Http请求处理方法及装置 Download PDFInfo
- Publication number
- CN114051022A CN114051022A CN202111358915.6A CN202111358915A CN114051022A CN 114051022 A CN114051022 A CN 114051022A CN 202111358915 A CN202111358915 A CN 202111358915A CN 114051022 A CN114051022 A CN 114051022A
- Authority
- CN
- China
- Prior art keywords
- http request
- http
- web server
- field
- target web
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims description 18
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 14
- 230000004044 response Effects 0.000 claims description 56
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
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/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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种HTTP请求处理方法及装置,所述方法应用于代理服务器,代理服务器与多个web服务器连接,所述方法包括:接收客户端发送的第一HTTP请求,其中,第一HTTP请求包括HOST字段;根据HOST字段和预设的负载均衡策略,从多个web服务器中确定出与客户端对应的目标web服务器;基于第一HTTP请求生成第二HTTP请求,其中,第二HTTP请求中的HOST字段的内容为目标web服务器的IP地址,在代理服务器同时与多台web服务器连接的场景下,实现web服务器的负载均衡。
Description
技术领域
本申请涉及网络通信领域,具体而言,涉及一种HTTP请求处理方法及装置。
背景技术
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是用于从万维网服务器传输超文本到本地浏览器的传送协议。现有技术中,当代理服务器接收到客户端发送HTTP请求,将HTTP请求中的HOST字段改写为对应的web服务器的地址,从而实现HTTP访问。然而,现有的HOST字段改写只支持将HTTP请求中的HOST字段改写为固定的web服务器的地址。即使代理服务器同时与多台web服务器连接,当代理服务器接收到客户端发送的HTTP请求时,代理服务器会将HTTP请求中的HOST字段改写为一固定web服务器的地址,容易导致web服务器负载不均衡的问题。
发明内容
本申请实施例的目的在于提供一种HTTP请求处理方法及装置,用以解决现有技术中HOST字段改写导致web服务器负载不均衡的问题。
第一方面,本申请提供一种HTTP请求处理方法,应用于代理服务器,所述代理服务器与多个web服务器连接,所述方法包括:接收客户端发送的第一HTTP请求,其中,所述第一HTTP请求包括HOST字段;根据所述HOST字段和预设的负载均衡策略,从所述多个web服务器中确定出与所述客户端对应的目标web服务器;基于所述第一HTTP请求生成第二HTTP请求,其中,所述第二HTTP请求中的HOST字段的内容为所述目标web服务器的IP地址。
本申请实施例中,代理服务器接收到客户端发送的第一HTTP请求后,基于HTTP请求中的HOST字段和预设的负载均衡策略确定出目标web服务器,将第二HTTP请求中的HOST字段配置为目标web服务器的IP地址,在代理服务器同时与多台web服务器连接的场景下,实现web服务器的负载均衡。
在可选的实施方式中,所述第一HTTP请求包括REFERER字段,所述基于所述第一HTTP请求生成第二HTTP请求,包括:将所述第一HTTP请求中的HOST字段的内容修改为所述目标web服务器的IP地址,以及将所述第一HTTP请求中的REFERER字段修改为所述目标web服务器的IP地址,得到所述第二HTTP请求。
本申请实施例中,当第一HTTP请求包括REFERER字段时,同时对第二HTTP请求中的HOST字段和REFERER字段进行改写,避免因第二HTTP请求中的REFERER字段无法通过目标web服务器的验证而导致客户端请求失败的问题。
在可选的实施方式中,所述第一HTTP请求中的所述HOST字段的内容为所述代理服务器对应的IP地址或所述代理服务器对应的域名。
本申请实施例提供的HTTP请求处理方法可以适用于HOST字段为代理服务器的IP地址的情况,也可以适用于HOST字段为代理服务器的域名的情况,从而提高HTTP请求处理方法的适用性。
在可选的实施方式中,所述负载均衡策略包括:轮询策略、哈希策略和最少连接数策略。
在可选的实施方式中,所述方法还包括:将所述第二HTTP请求发送至所述目标web服务器;接收第一HTTP响应,其中,所述第一HTTP响应为所述目标web服务器基于所述第二HTTP请求的响应;当所述第一HTTP响应中包括LOCATION字段时,基于所述第一HTTP响应生成第二HTTP响应,其中,所述第二HTTP响应中的LOCATION字段的内容为所述第一HTTP请求的HOST字段对应的内容。
本申请实施例中,当第一HTTP响应包括LOCATION字段时,将第二HTTP响应中的LOCATION字段改写为第一HTTP请求的HOST字段,防止目标web服务器的IP地址泄露。
第二方面,本申请提供一种HTTP请求处理装置,应用于代理服务器,所述代理服务器与多个web服务器连接,所述装置包括:第一接收模块,用于接收客户端发送的第一HTTP请求,其中,所述第一HTTP请求包括HOST字段;确定模块,用于根据所述HOST字段和预设的负载均衡策略,从所述多个web服务器中确定出与所述客户端对应的目标web服务器;第一生成模块,用于基于所述第一HTTP请求生成第二HTTP请求,其中,所述第二HTTP请求中的HOST字段的内容为所述目标web服务器的IP地址。
在可选的实施方式中,所述第一HTTP请求包括REFERER字段,所述第一生成模块,具体用于将所述第一HTTP请求中的HOST字段的内容修改为所述目标web服务器的IP地址,以及将所述第一HTTP请求中的REFERER字段修改为所述目标web服务器的IP地址,得到所述第二HTTP请求。
在可选的实施方式中,所述第一HTTP请求中的所述HOST字段的内容为所述代理服务器对应的IP地址或所述代理服务器对应的域名。
在可选的实施方式中,所述负载均衡策略包括:轮询策略、哈希策略和最少连接数策略。
在可选的实施方式中,所述装置还包括:发送模块,用于将所述第二HTTP请求发送至所述目标web服务器;第二接收模块,用于接收第一HTTP响应,其中,所述第一HTTP响应为所述目标web服务器基于所述第二HTTP请求的响应;第二生成模块,用于当所述第一HTTP响应中包括LOCATION字段时,基于所述第一HTTP响应生成第二HTTP响应,其中,所述第二HTTP响应中的LOCATION字段的内容为所述第一HTTP请求的HOST字段对应的内容。
第三方面,本申请提供一种服务器,包括:处理器、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如前述实施方式任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机读取并运行时,执行如前述实施方式中任一项所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种HTTP请求处理方法的流程图;
图2为本申请实施例提供的一种HTTP请求处理装置的结构框图;
图3为本申请实施例的电子设备的结构示意图。
图标:200-HTTP请求处理装置;201-第一接收模块;202-确定模块;203-第一生成模块;300-电子设备;301-处理器;302-通信接口;303-存储器;304-总线。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参阅图1,图1为本申请实施例提供的一种HTTP请求处理方法的流程图,该HTTP请求处理方法应用于代理服务器,所述代理服务器与多个web服务器连接,该HTTP请求处理方法可以包括如下步骤:
步骤101:接收客户端发送的第一HTTP请求,其中,第一HTTP请求包括HOST字段。
步骤102:根据HOST字段和预设的负载均衡策略,从多个web服务器中确定出与客户端对应的目标web服务器。
步骤103:基于第一HTTP请求生成第二HTTP请求,其中,第二HTTP请求中的HOST字段的内容为目标web服务器的IP地址。
下面将结合示例对上述步骤进行说明。
步骤101:接收客户端发送的第一HTTP请求,其中,第一HTTP请求包括HOST字段。
本申请实施例中,客户端与代理服务器连接,代理服务器与多个web服务器连接。
代理服务器是介于客户端和web服务器之间的一台服务器,客户端不会直接到web服务器上获取网络信息,而是向代理服务器发出HTTP请求,请求信号会先送到代理服务器,由代理服务器从web服务器获取客户端所需要的信息并传送给客户端。
需要说明的是,随着网络的普及,客户端的数量急剧增加,web服务器要响应的HTTP请求相应的急剧增加,考虑到单个web服务器的连接数存在限制或是支持的带宽有限,可以设置多个web服务器以实现同一功能,减少网络拥堵现象,从而提高网络服务的高可用性。可以理解,与代理服务器连接的多个web服务器为能实现同一功能的web服务器。即,假设客户端需要获取文件A,多个web服务器都保存有文件A,客户端可以通过访问代理服务器,由代理服务器从任一web服务器上获取文件A,进而转发给客户端。
当客户端需要访问web服务器时,向代理服务器发送第一HTTP请求。第一HTTP请求中包括有HOST字段。
步骤102:根据HOST字段和预设的负载均衡策略,从多个web服务器中确定出与客户端对应的目标web服务器。
本申请实施例中,代理服务器根据第一HTTP请求中的HOST字段以及预设的负载均衡策略,从多个web服务器中确定出与客户端对应的目标web服务器。根据前述内容可知,在具有负载均衡的网络拓扑中,代理服务器解析第一HTTP请求中的HOST字段,确定出有多个web服务器可以满足第一HTTP请求中的请求内容。但是,为了实现负载均衡,代理服务器需要根据预设的负载均衡策略,从上述多个web服务器中确定出一个目标服务器。
可选的,第一HTTP请求中的HOST字段的内容可以为代理服务器对应的IP地址或代理服务器对应的域名。
一个代理服务器可以对应多个IP地址或多个域名。不同的IP地址或不同的域名会对应不同的服务器池。因此,代理服务器接收到第一HTTP请求后,对第一HTTP请求中的HOST字段进行解析,从若干个web服务器中确定出多个web服务器,作为服务器池。再根据预设的负载均衡策略从该服务器池对应的多个web服务器中确定出目标服务器。
实际使用中,客户端可以根据代理服务器的IP地址发起HTTP访问请求,也可以根据代理服务器的域名发起HTTP访问请求。本申请实施例提供的HTTP请求处理方法既可以适用于HOST字段为代理服务器的IP地址的情况,也可以适用于HOST字段为代理服务器的域名的情况,从而提高HTTP请求处理方法的适用性。
可选的,负载均衡策略可以包括:轮询策略、哈希策略、最少连接策略等。代理服务器上预先配置有上述一种或多种负载均衡策略,根据不同的情况,可以采用不同的负载均衡策略。需要说明的是,除了以上提到的负载均衡策略外,还可以包括其他负载均衡策略,本申请对此不作具体限定。
以下分别对上述策略进行简要介绍。
轮询策略,由多个web服务器轮流处理接收到的HTTP请求。举例来说,假设有6个HTTP请求,3个web服务器,按照web服务器1、2、3的顺序轮流处理HTTP请求。具体地,第一个HTTP请求分配给web服务器1处理,第二个HTTP请求分配给web服务器2处理,第三个HTTP请求分配给web服务器3处理,第四个HTTP请求分配给web服务器1处理,第五个HTTP请求分配给web服务器2处理,第六个HTTP请求分配给web服务器3处理。
哈希策略,对客户端的ip地址进行哈希计算,将计算结果与web服务器的数量取余,根据取余的结果分配web服务器。举例来说,3个web服务器,分别对应取余后的结果为0、1、2。对客户端的ip地址进行哈希计算并取余后,若取余结果为0,则分配给web服务器1;若取余结果为1,则分配给web服务器2;若取余结果为2,则分配给web服务器3。
最少连接策略,根据各web服务器的当前连接数,选择连接数最小的web服务器。
步骤103:基于第一HTTP请求生成第二HTTP请求,其中,第二HTTP请求中的HOST字段的内容为目标web服务器的IP地址。
本申请实施例中,代理服务器确定出目标服务器后,基于第一HTTP请求生成第二HTTP请求,第二HTTP请求中的HOST字段的内容为目标web服务器的IP地址。第二HTTP请求中的HOST字段的内容为目标web服务器的IP地址,代理服务器将第二HTTP请求发送给目标web服务器,使得第二HTTP请求可以通过目标web服务器的验证,从而实现客户端对目标web服务器的访问。
作为一种可选的实施方式,上述步骤103可以包括如下内容:
将第一HTTP请求中的HOST字段的内容修改为目标web服务器的IP地址,得到第二HTTP请求。
在一实施例中,代理服务器在接收到第一HTTP请求后,对第一HTTP请求中的HOST字段进行修改,将HOST字段的内容修改为目标web服务器的IP地址,从而得到第二HTTP请求。
在另一实施例中,代理服务器在接收到第一HTTP请求后,根据第一HTTP请求生成第二HTTP请求,生成的第二HTTP请求中,其余内容均相同,只将第二HTTP请求中的HOST字段设置为目标web服务器的IP地址。
作为另一种可选的实施方式,上述步骤103可以包括如下内容:
将第一HTTP请求中的HOST字段的内容修改为目标web服务器的IP地址,以及将第一HTTP请求中的REFERER字段修改为目标web服务器的IP地址,得到第二HTTP请求。
在一实施例中,若第一HTTP请求中还包括有REFERER字段,且REFERER字段的内容与HOST字段的内容相同,在得到第二HTTP请求时,除了将第一HTTP请求中的HOST字段的内容修改为目标web服务器的IP地址外,还会将第一HTTP请求中的REFERER字段也修改为目标web服务器的IP地址。
在另一实施例中,代理服务器在接收到第一HTTP请求后,根据第一HTTP请求生成第二HTTP请求,生成的第二HTTP请求中,其余内容均相同,只将第二HTTP请求中的HOST字段和REFERER字段设置为目标web服务器的IP地址。
作为一种可选的实施方式,本申请提供的HTTP请求处理方法还包括如下步骤:
第一步,将第二HTTP请求发送至目标web服务器;
第二步,接收第一HTTP响应,其中,第一HTTP响应为目标web服务器基于第二HTTP请求的响应;
第三步,当第一HTTP响应中包括LOCATION字段时,基于第一HTTP响应生成第二HTTP响应,其中,第二HTTP响应中的LOCATION字段的内容为第一HTTP请求的HOST字段对应的内容。
本申请实施例中,代理服务器生成第二HTTP请求后,第二HTTP请求发送给目标web服务器。目标web服务器基于该第二HTTP请求,向代理服务器发送第一HTTP响应。
代理服务器接收到第一HTTP响应后,对第一HTTP响应进行解析,进而生成第二HTTP响应,将该第二HTTP请求发送给客户端。若第一HTTP响应中包括LOCATION字段,则将第二HTTP响应中的LOCATION字段修改为第一HTTP请求的HOST字段。
需要说明的是,基于第一HTTP响应生成第二HTTP响应的过程与前述实施方式中基于第一HTTP请求生成第二HTTP请求的过程类似,相同或相似之处可以互相参照,为使说明书简洁,在此不做赘述。
以下以2个具体示例对上述步骤进行介绍。
在一种可选的实施方式中,客户端向代理服务器发起的第一HTTP请求称为HTTP1,其中的HOST字段称为HOST1;代理服务器向目标web服务器发起的第二HTTP请求为称为HTTP2,其中的HOST字段称为HOST2。
本申请实施例中,假设HOST1为代理服务器的IP地址,即HOST1:[200::201];代理服务器根据HOST1确定出有三个web服务器可以响应HTTP1,对应的IP地址分别为:web服务器1:1.1.1.1、web服务器2:1.1.1.2、web服务器3:1.1.1.3。代理服务器进而根据预设的负载均衡策略确定出web服务器2为目标web服务器。于是,代理服务器将HTTP2中的HOST2配置为1.1.1.2。
进一步地,若HTTP1中还包括REFERER字段,称为REFERER1。相应地HTTP2中也会包括REFERER字段,称为REFERER2。若REFERER1的内容也为[200::201],代理服务器将HTTP2中的REFERER2配置为1.1.1.2。
进一步地,代理服务器将第二HTTP请求HTTP2发送给web服务器后,web服务器返回第一HTTP响应HTTP3。若HTTP3中包括有LOCATION字段,称为LOCATION1,LOCATION1的内容为:1.1.1.2。代理服务器发送给客户端的二HTTP响应HTTP4中也会包括LOCATION字段,称为LOCATION2。代理服务器将HTTP2中的LOCATION2配置为HTTP1中的HOST1对应的内容,即LOCATION2:[200::201]。
具体地,客户端发起的请求HTTP1可以为:
GET/a.html HTTP/1.1
Host:[200::201]
User-Agent:curl/7.57.0
Accept:*/*
Referer:[200::201]/test.html
经过本申请提供的HTTP请求处理方法处理后,代理服务器向Web服务器发起的请求HTTP2可以为:
GET/a.html HTTP/1.1
Host:1.1.1.2
User-Agent:curl/7.57.0
Accept:*/*
Referer:1.1.1.2/test.html
Web服务器返回的响应HTTP3为:
Connection:keep-alive
Content-Length:258
Content-Type:text/html
Date:Thu,28Oct 2021 08:36:22GMT
Location:https://1.1.1.2/text/a.html
经过本申请提供的HTTP请求处理方法处理后,代理服务器向客户端返回的响应HTTP4变为:
Connection:keep-alive
Content-Length:258
Content-Type:text/html
Date:Thu,28Oct 2021 08:36:22GMT
Location:https://[200::201]/text/a.html
在另一种可选的实施方式中,客户端向代理服务器发起的第一HTTP请求称为HTTP1,其中的HOST字段称为HOST1;代理服务器向目标web服务器发起的第二HTTP请求为称为HTTP2,其中的HOST字段称为HOST2。
本申请实施例中,假设HOST1为代理服务器的域名,即HOST1:www.xxx.com;代理服务器根据HOST1确定出该域名对应三个web服务器,对应的IP地址分别为:web服务器1:1.1.1.1、web服务器2:1.1.1.2、web服务器3:1.1.1.3。代理服务器进而根据预设的负载均衡策略确定出web服务器3为目标web服务器。于是,代理服务器将HTTP2中的HOST2配置为1.1.1.3。
需要说明的是,后续对REFERER字段、LOCATION字段的处理方式与前述实施例相同,为使说明书简洁,在此不做赘述。
综上所述,本申请实施例提供一种HTTP请求处理方法,代理服务器接收到客户端发送的第一HTTP请求后,基于HTTP请求中的HOST字段和预设的负载均衡策略确定出目标web服务器,将第二HTTP请求中的HOST字段配置为目标web服务器的IP地址,在代理服务器同时与多台web服务器连接的场景下,实现web服务器的负载均衡。
基于同一发明构思,本申请实施例中还提供一种HTTP请求处理装置。请参阅图2,图2为本申请实施例提供的一种HTTP请求处理装置的结构框图,该HTTP请求处理装置200应用于代理服务器,所述代理服务器与多个web服务器连接,该HTTP请求处理装置200可以包括:
第一接收模块201,用于接收客户端发送的第一HTTP请求,其中,所述第一HTTP请求包括HOST字段;
确定模块202,用于根据所述HOST字段和预设的负载均衡策略,从所述多个web服务器中确定出与所述客户端对应的目标web服务器;
第一生成模块203,用于基于所述第一HTTP请求生成第二HTTP请求,其中,所述第二HTTP请求中的HOST字段的内容为所述目标web服务器的IP地址。
在可选的实施方式中,所述第一HTTP请求包括REFERER字段,所述第一生成模块203,具体用于将所述第一HTTP请求中的HOST字段的内容修改为所述目标web服务器的IP地址,以及将所述第一HTTP请求中的REFERER字段修改为所述目标web服务器的IP地址,得到所述第二HTTP请求。
在可选的实施方式中,所述第一HTTP请求中的所述HOST字段的内容为所述代理服务器对应的IP地址或所述代理服务器对应的域名。
在可选的实施方式中,所述负载均衡策略包括:轮询策略、哈希策略和最少连接数策略。
在可选的实施方式中,所述装置还包括:发送模块,用于将所述第二HTTP请求发送至所述目标web服务器;第二接收模块,用于接收第一HTTP响应,其中,所述第一HTTP响应为所述目标web服务器基于所述第二HTTP请求的响应;第二生成模块,用于当所述第一HTTP响应中包括LOCATION字段时,基于所述第一HTTP响应生成第二HTTP响应,其中,所述第二HTTP响应中的LOCATION字段的内容为所述第一HTTP请求的HOST字段对应的内容。
请参阅图3,图3为本申请实施例的电子设备300的结构示意图,该电子设备300包括:至少一个处理器301,至少一个通信接口302,至少一个存储器303和至少一个总线304。其中,总线304用于实现这些组件直接的连接通信,通信接口302用于与其他节点设备进行信令或数据的通信,存储器303存储有处理器301可执行的机器可读指令。当电子设备300运行时,处理器301与存储器303之间通过总线304通信,机器可读指令被处理器301调用时执行如上述HTTP请求处理方法。
处理器301可以是一种集成电路芯片,具有信号处理能力。上述处理器301可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器303可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
可以理解,图3所示的结构仅为示意,电子设备300还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。于本申请实施例中,电子设备300可以是,但不限于台式机、笔记本电脑、智能手机、智能穿戴设备、车载设备等实体设备,还可以是虚拟机等虚拟设备。另外,电子设备300也不一定是单台设备,还可以是多台设备的组合,例如服务器集群,等等。
此外,本申请实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述实施例中HTTP请求处理方法的步骤。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种HTTP请求处理方法,其特征在于,应用于代理服务器,所述代理服务器与多个web服务器连接,所述方法包括:
接收客户端发送的第一HTTP请求,其中,所述第一HTTP请求包括HOST字段;
根据所述HOST字段和预设的负载均衡策略,从所述多个web服务器中确定出与所述客户端对应的目标web服务器;
基于所述第一HTTP请求生成第二HTTP请求,其中,所述第二HTTP请求中的HOST字段的内容为所述目标web服务器的IP地址。
2.根据权利要求1所述的方法,其特征在于,所述第一HTTP请求包括REFERER字段,所述基于所述第一HTTP请求生成第二HTTP请求,包括:
将所述第一HTTP请求中的HOST字段的内容修改为所述目标web服务器的IP地址,以及将所述第一HTTP请求中的REFERER字段修改为所述目标web服务器的IP地址,得到所述第二HTTP请求。
3.根据权利要求1所述的方法,其特征在于,所述第一HTTP请求中的所述HOST字段的内容为所述代理服务器对应的IP地址或所述代理服务器对应的域名。
4.根据权利要求1所述的方法,其特征在于,所述负载均衡策略包括:轮询策略、哈希策略和最少连接数策略。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
将所述第二HTTP请求发送至所述目标web服务器;
接收第一HTTP响应,其中,所述第一HTTP响应为所述目标web服务器基于所述第二HTTP请求的响应;
当所述第一HTTP响应中包括LOCATION字段时,基于所述第一HTTP响应生成第二HTTP响应,其中,所述第二HTTP响应中的LOCATION字段的内容为所述第一HTTP请求的HOST字段对应的内容。
6.一种HTTP请求处理装置,其特征在于,应用于代理服务器,所述代理服务器与多个web服务器连接,所述装置包括:
第一接收模块,用于接收客户端发送的第一HTTP请求,其中,所述第一HTTP请求包括HOST字段;
确定模块,用于根据所述HOST字段和预设的负载均衡策略,从所述多个web服务器中确定出与所述客户端对应的目标web服务器;
第一生成模块,用于基于所述第一HTTP请求生成第二HTTP请求,其中,所述第二HTTP请求中的HOST字段的内容为所述目标web服务器的IP地址。
7.根据权利要求6所述的装置,其特征在于,所述第一HTTP请求包括REFERER字段,所述第一生成模块,具体用于将所述第一HTTP请求中的HOST字段的内容修改为所述目标web服务器的IP地址,以及将所述第一HTTP请求中的REFERER字段修改为所述目标web服务器的IP地址,得到所述第二HTTP请求。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
发送模块,用于将所述第二HTTP请求发送至所述目标web服务器;
第二接收模块,用于接收第一HTTP响应,其中,所述第一HTTP响应为所述目标web服务器基于所述第二HTTP请求的响应;
第二生成模块,用于当所述第一HTTP响应中包括LOCATION字段时,基于所述第一HTTP响应生成第二HTTP响应,其中,所述第二HTTP响应中的LOCATION字段的内容为所述第一HTTP请求的HOST字段对应的内容。
9.一种服务器,其特征在于,包括:处理器、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-5任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机读取并运行时,执行如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111358915.6A CN114051022A (zh) | 2021-11-17 | 2021-11-17 | Http请求处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111358915.6A CN114051022A (zh) | 2021-11-17 | 2021-11-17 | Http请求处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114051022A true CN114051022A (zh) | 2022-02-15 |
Family
ID=80209695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111358915.6A Pending CN114051022A (zh) | 2021-11-17 | 2021-11-17 | Http请求处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114051022A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468226A (zh) * | 2014-12-18 | 2015-03-25 | 山东中创软件工程股份有限公司 | 基于Nginx的配置方法及装置 |
CN104539645A (zh) * | 2014-11-28 | 2015-04-22 | 百度在线网络技术(北京)有限公司 | 一种用于处理http请求的方法与设备 |
CN104618444A (zh) * | 2014-12-30 | 2015-05-13 | 北京奇虎科技有限公司 | 一种基于反向代理服务器处理请求的方法和装置 |
CN104967630A (zh) * | 2014-04-10 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 网页访问请求的处理方法及装置 |
CN106161617A (zh) * | 2016-07-04 | 2016-11-23 | 微梦创科网络科技(中国)有限公司 | 基于nodejs的反向代理方法、反向代理服务器及*** |
CN106878311A (zh) * | 2017-02-22 | 2017-06-20 | 杭州迪普科技股份有限公司 | Http报文的重写方法及装置 |
CN111787036A (zh) * | 2019-04-03 | 2020-10-16 | 北京奇虎科技有限公司 | 一种前端私有云部署的解决方法、装置、存储介质及设备 |
CN112637346A (zh) * | 2020-12-24 | 2021-04-09 | 北京知道创宇信息技术股份有限公司 | 代理方法、装置、代理服务器及存储介质 |
-
2021
- 2021-11-17 CN CN202111358915.6A patent/CN114051022A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104967630A (zh) * | 2014-04-10 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 网页访问请求的处理方法及装置 |
CN104539645A (zh) * | 2014-11-28 | 2015-04-22 | 百度在线网络技术(北京)有限公司 | 一种用于处理http请求的方法与设备 |
CN104468226A (zh) * | 2014-12-18 | 2015-03-25 | 山东中创软件工程股份有限公司 | 基于Nginx的配置方法及装置 |
CN104618444A (zh) * | 2014-12-30 | 2015-05-13 | 北京奇虎科技有限公司 | 一种基于反向代理服务器处理请求的方法和装置 |
CN106161617A (zh) * | 2016-07-04 | 2016-11-23 | 微梦创科网络科技(中国)有限公司 | 基于nodejs的反向代理方法、反向代理服务器及*** |
CN106878311A (zh) * | 2017-02-22 | 2017-06-20 | 杭州迪普科技股份有限公司 | Http报文的重写方法及装置 |
CN111787036A (zh) * | 2019-04-03 | 2020-10-16 | 北京奇虎科技有限公司 | 一种前端私有云部署的解决方法、装置、存储介质及设备 |
CN112637346A (zh) * | 2020-12-24 | 2021-04-09 | 北京知道创宇信息技术股份有限公司 | 代理方法、装置、代理服务器及存储介质 |
Non-Patent Citations (2)
Title |
---|
互联网老辛: "使用nginx实现动静分离的负载均衡集群", Retrieved from the Internet <URL:bbs.huaweicloud.com/blogs/277668> * |
彭东: "《SQL Server 2000 应用开发技术指南》", 31 May 2001, 清华大学出版社, pages: 617 - 618 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109561141B (zh) | 一种cdn节点的选择方法及设备 | |
CN109067914B (zh) | Web服务的代理方法、装置、设备及存储介质 | |
CN108881448B (zh) | Api请求的处理方法及装置 | |
EP2633667B1 (en) | System and method for on the fly protocol conversion in obtaining policy enforcement information | |
CN109218368B (zh) | 实现Http反向代理的方法、装置、电子设备和可读介质 | |
EP2933986A1 (en) | Computer-implemented method, apparatus, and computer-readable medium for processing named entity queries using a cached functionality in a domain name system | |
WO2014004308A1 (en) | Device, system, and method for client-governed session persistency between one or more clients and servers of a data center | |
US11582153B2 (en) | Load-balancing establishment of connections among groups of connector servers | |
CN111049901B (zh) | 一种负载均衡方法、负载均衡***及注册服务器 | |
CN113206785B (zh) | 网络请求方法及装置、终端设备、存储介质 | |
CN112565406B (zh) | 一种灰度发布方法、灰度发布***及电子设备 | |
CN112134960B (zh) | 一种数据请求方法及装置 | |
CN112685669A (zh) | 一种页面渲染方法以及*** | |
CN108886533B (zh) | 加速与主机服务器的连接 | |
CN108494870B (zh) | 基于cdn的动态数据加载方法及装置 | |
CN109471713B (zh) | 用于查询信息的方法和装置 | |
CN105933298B (zh) | 用于执行传输控制协议握手的设备和方法 | |
CN111262779A (zh) | 即时通讯中数据的获取方法、装置、服务器及*** | |
CN111416851A (zh) | 在多个负载均衡器之间进行会话同步的方法和负载均衡器 | |
CN114338809B (zh) | 访问控制方法、装置、电子设备和存储介质 | |
US20140047014A1 (en) | Network access system | |
CN114051022A (zh) | Http请求处理方法及装置 | |
CN113596105B (zh) | 内容的获取方法、边缘节点及计算机可读存储介质 | |
CN115361279A (zh) | 配置数据的更新方法、装置、电子设备及计算机可读介质 | |
CN112231566B (zh) | 信息推送方法、装置、***和可读存储介质 |
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 |