CN112822237B - 网络请求传输方法及装置 - Google Patents

网络请求传输方法及装置 Download PDF

Info

Publication number
CN112822237B
CN112822237B CN202011606040.2A CN202011606040A CN112822237B CN 112822237 B CN112822237 B CN 112822237B CN 202011606040 A CN202011606040 A CN 202011606040A CN 112822237 B CN112822237 B CN 112822237B
Authority
CN
China
Prior art keywords
request
compression
network
network request
parameters
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
Application number
CN202011606040.2A
Other languages
English (en)
Other versions
CN112822237A (zh
Inventor
谈晶晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202011606040.2A priority Critical patent/CN112822237B/zh
Publication of CN112822237A publication Critical patent/CN112822237A/zh
Application granted granted Critical
Publication of CN112822237B publication Critical patent/CN112822237B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种网络请求传输方法和装置,所述方法包括:获取目标网络请求;所述网络请求包括请求头部、请求参数和请求体;从所述网络请求中截取出所述请求参数,并基于压缩算法对所述请求参数进行压缩处理得到压缩请求参数;将所述压缩请求参数填入所述请求体中,并确定填入所述压缩请求参数后的所述请求体的请求体长度;在所述请求头部添加指定的压缩标识、所述压缩算法的算法标识和所述请求体长度,得到压缩网络请求;将所述压缩网络请求发送至接收端。本发明实施例减小了网络请求的体积,进而提高网络请求的发送成功率,以及减小占用带宽,节省带宽成本。

Description

网络请求传输方法及装置
技术领域
本发明实施例涉及数据处理技术领域,特别是涉及一种网络请求传输方法、一种网络请求传输装置、一种网络请求传输系统、一种电子设备以及一种计算机可读存储介质。
背景技术
HTTP(HyperTextTransferProtocol,超文本传输协议)是一个请求-响应协议,指定了客户端可能发送给服务器什么样的请求以及得到什么样的响应。
具体地,一个HTTP请求一般包含:请求行和请求头部等几个部分,通常一个HTTP请求中数据量较大的部分为请求行中的请求参数和请求头部。目前的HTTP/2(超文本传输协议第二版)协议会对HTTP请求的请求头部进行压缩,从而达到压缩HTTP请求的目的。目前的一种流行的HTTP请求发送方式是,将一些基本信息放到请求的请求参数部分后发送至服务器,然而,随着请求参数不停的增多,HTTP请求的体积也会越来越大,进而会影响HTTP请求等网络请求的发送成功率并且还需要占用更多带宽。
发明内容
本发明实施例的目的在于提供一种网络请求传输方法、一种网络请求传输装置、一种网络请求传输系统、一种电子设备以及一种计算机可读存储介质,以实现减小网络请求的体积,从而提高网络请求的发送成功率,以及减小占用带宽。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种网络请求传输方法,应用于发送端,包括:
获取目标网络请求;所述网络请求包括请求头部、请求参数和请求体;
从所述网络请求中截取出所述请求参数,并基于压缩算法对所述请求参数进行压缩处理得到压缩请求参数;
将所述压缩请求参数填入所述请求体中,并确定填入所述压缩请求参数后的所述请求体的请求体长度;
在所述请求头部添加指定的压缩标识、所述压缩算法的算法标识和所述请求体长度,得到压缩网络请求;
将所述压缩网络请求发送至接收端。
可选地,所述获取目标网络请求,包括:
获取初始网络请求;
当所述初始网络请求不包含请求体时,为所述初始网络请求添加请求体得到目标网络请求;
当所述初始网络请求包含请求体时,将所述初始网络请求作为目标网络请求。
可选地,所述将所述压缩请求参数填入所述请求体中,包括:
在所述目标网络请求的请求体中添加第一指定键名,并在所述第一指定键名填入所述压缩请求参数。
可选地,当所述初始网络请求包含请求体时,所述将所述压缩请求参数填入所述请求体中,还包括:
获取所述初始网络请求的请求体的初始请求体数据;
在所述目标网络请求的请求体中添加第二指定键名,并在所述第二指定键名填入所述初始请求体数据。
可选地,所述在所述请求头部添加指定的压缩标识、所述压缩算法和所述请求体长度,包括:
在所述目标网络请求的所述请求头部添加第三指定键名,在所述第三指定键名填入所述压缩标识;
在所述目标网络请求的所述请求头部添加第四指定键名,在所述第四指定键名填入所述压缩算法;
在所述目标网络请求的所述请求头部添加第五指定键名,在所述第五指定键名填入所述请求体长度。
在本发明实施的第二方面,还提供了一种网络请求传输方法,应用于接收端,包括:
接收网络请求;所述网络请求包括请求头部;
当从所述请求头部中提取出压缩标识时,将所述网络请求确定为压缩网络请求,所述压缩网络请求包括请求体;
从所述压缩网络请求的请求头部提取出压缩算法的算法标识和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数;
根据所述请求体长度和所述算法标识对应的压缩算法对所述压缩请求参数进行解压,得到解压后的请求参数,以根据所述请求参数进行相应处理。
可选地,在当从所述请求头部中提取出压缩标识时,将所述网络请求确定为压缩网络请求,所述压缩网络请求包括请求体之前,所述方法还包括:
检测所述请求头部的第三指定键名是否存在压缩标识。
可选地,所述从所述压缩网络请求的请求头部提取出压缩算法和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数,包括:
从所述压缩网络请求的请求头部的第四指定键名提取压缩算法的算法标识;
从所述压缩网络请求的请求头部的第五指定键名提取请求体长度;
从所述压缩网络请求的请求体的第一指定键名提取的压缩请求参数。
可选地,所述从所述压缩网络请求的请求头部提取出压缩算法和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数,还包括:
检测所述压缩网络请求的请求体是否存在第二指定键名;
若是,则从所述第二指定键名提取初始请求体数据。
在本发明实施的第三方面,还提供了一种网络请求传输装置,应用于发送端,包括:
目标网络请求获取模块,用于获取目标网络请求;所述网络请求包括请求头部、请求参数和请求体;
请求参数截取模块,用于从所述网络请求中截取出所述请求参数,并基于压缩算法对所述请求参数进行压缩处理得到压缩请求参数;
压缩请求参数填入模块,用于将所述压缩请求参数填入所述请求体中,并确定填入所述压缩请求参数后的所述请求体的请求体长度;
压缩网络请求得到模块,用于在所述请求头部添加指定的压缩标识、所述压缩算法的算法标识和所述请求体长度,得到压缩网络请求;
压缩网络请求发送模块,用于将所述压缩网络请求发送至接收端。
在本发明实施的第四方面,还提供了一种网络请求传输装置,应用于接收端,包括:
网络请求接收模块,用于接收网络请求;所述网络请求包括请求头部;
压缩网络请求确定模块,用于当从所述请求头部中提取出压缩标识时,将所述网络请求确定为压缩网络请求,所述压缩网络请求包括请求体;
数据提取模块,用于从所述压缩网络请求的请求头部提取出压缩算法的算法标识和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数;
压缩请求参数解压模块,用于根据所述请求体长度和所述压缩算法对所述压缩请求参数进行解压,得到解压后的请求参数,以根据所述请求参数进行相应处理。
在本发明实施的又一方面,还提供了一种网络请求传输系统,包括发送端和接收端;
所述发送端,用于获取目标网络请求;所述网络请求包括请求头部、请求参数和请求体;从所述网络请求中截取出所述请求参数,并基于压缩算法对所述请求参数进行压缩处理得到压缩请求参数;将所述压缩请求参数填入所述请求体中,并确定填入所述压缩请求参数后的所述请求体的请求体长度;在所述请求头部添加指定的压缩标识、所述压缩算法的算法标识和所述请求体长度,得到压缩网络请求;将所述压缩网络请求发送至接收端;
所述接收端,用于接收网络请求;所述网络请求包括请求头部;当从所述请求头部中提取出压缩标识时,将所述网络请求确定为压缩网络请求,所述压缩网络请求包括请求体;从所述压缩网络请求的请求头部提取出压缩算法的算法标识和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数;根据所述请求体长度和所述算法标识对应的压缩算法对所述压缩请求参数进行解压,得到解压后的请求参数,以根据所述请求参数进行相应处理。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的网络请求方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的网络请求方法。
本发明实施例提供的一种网络请求传输方法,通过对于包括请求头部、请求参数和请求体的目标网络请求,从网络请求中截取出请求参数并基于压缩算法进行压缩处理得到压缩请求参数,然后将压缩请求参数填入请求体中,并确定填入压缩请求参数后的所述请求体的请求体长度,最后在请求头部添加指定的压缩标识、压缩算法的算法标识和请求体长度得到压缩网络请求,对于获得的压缩网络请求可以发送至对应的接收端进一步处理,由于本发明实施例通过压缩算法对网络请求中的请求参数进行了压缩处理,故而减小了网络请求的体积,进而提高网络请求的发送成功率,以及减小占用带宽,节省带宽成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中提供的一种网络请求传输方法的步骤流程图;
图2为本发明实施例中提供的一种网络请求传输方法的步骤流程图;
图3为本发明实施例中提供的一种对HTTP请求的处理架构图;
图4为本发明实施例中提供的一种网络请求传输装置的结构框图;
图5为本发明实施例中提供的一种网络请求传输装置的结构框图;
图6为本发明实施例中提供的一种网络请求传输系统的结构框图;
图7为本发明实施例中提供的一种电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
参照图1,为本发明实施例中提供的一种网络请求传输方法的步骤流程图,应用于发送端,如图1所示,该方法具体可以包括如下步骤:
步骤101,获取目标网络请求;所述网络请求包括请求头部、请求参数和请求体。
在本发明实施例中,目标网络请求可以为HTTP请求等其他请求,用于发送HTTP请求的客户端为发送端,例如浏览器。其中,HTTP请求可以包括如下请求类型:GET请求、POST请求、HEAD请求、OPTIONS请求、PUT请求、DELETE请求、TRACE请求以及CONNECT请求。下面为了便于说明本发明实施例,主要以HTTP请求为例进行说明。
其中,HTTP请求至少包括有请求行(requestline)、请求头部(header)、请求体(body)等几个部分,请求行包括协议和请求参数等,请求参数是路径参数,例如URI(UniformResourceIdentifier,统一资源定位符),更加具体而言,请求参数是指的URI中的从符号“?”开始的部分,又称为搜索部分、查询部分。
具体地,请求行用于说明HTTP请求的请求类型,需要访问的资源(URI)以及所使用的HTTP版本,请求头部用于说明服务器要使用的附加信息,请求体也称为主体,在请求体可以添加任意的其他数据,也可以为空。其中请求头部后面包括空行。
下面以GET请求为例,对于HTTP请求的组成部分进行说明:
GET/mix/76.html?name=kelvin&password=123456HTTP/1.1
Hostimg.mukewang.com
User-AgentMozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/51.0.2704.106Safari/537.36
Acceptimage/webp,image/*,*/*;q=0.8
Refererhttp://www.imooc.com/
Accept-Encodinggzip,deflate,sdch
Accept-Languagezh-CN,zh;q=0.8
(空行)
第一部分:请求行,用于说明请求类型,访问的资源以及所使用的HTTP版本
其中,“GET”为请求类型为GET请求,“/mix/76.html?name=kelvin&password=123456”为要访问的资源,“HTTP/1.1”为所使用的HTTP版本。
第二部分:请求头部,紧接着请求行(即第一行)之后的部分,用于说明服务器(接收端)要使用的附加信息
其中,从第二行起为请求头部,HOST将指出请求的目的地(主机域名),User-Agent,服务器端和客户端都能访问,是浏览器类型检测逻辑的重要基础,该信息由浏览器来定义,并且在每个HTTP请求中自动发送等等。
第三部分:空行,请求头部后面的空行是必须的其中,即使第四部分的请求体为空,该空行也需要保留。
第四部分:请求体,可以添加任意的其他数据
其中,在该例子中的请求体为空。
步骤102,从所述网络请求中截取出所述请求参数,并基于压缩算法对所述请求参数进行压缩处理得到压缩请求参数。
在本发明实施例中,对于HTTP请求,可以从中截取出请求参数,然后基于压缩算法压缩请求参数,从而达到缩小HTTP请求的目标。举例来说,假设HTTP请求中包括“/mix/76.html?name=kelvin&password=123456”,则可以将“?”之后的内容截取处理作为请求参数,即“name=kelvin&password=123456”,然后再利用压缩算法进行压缩,即可得到压缩请求参数。
步骤103,将所述压缩请求参数填入所述请求体中,并确定填入所述压缩请求参数后的所述请求体的请求体长度。
在本发明实施例中,将截取HTTP请求中的请求行中的请求参数,并对于请求参数基于压缩算法进行压缩,从而得到压缩请求参数,然后再将压缩请求参数填入HTTP请求中的请求体中,从而将请求参数转移至请求体,此外,还将进一步确定填入压缩请求参数后的请求体的请求体长度。作为一个具体示例,可以通过getContentLength()方法获取到请求体长度。
步骤104,在所述请求头部添加指定的压缩标识、所述压缩算法的算法标识和所述请求体长度,得到压缩网络请求。
在本发明实施例中,为了标记出HTTP请求中的请求参数是经过压缩算法压缩处理,因此将在该HTTP请求的请求头部中添加压缩标识,可选地,该压缩标识可以是版本号或者其他标识,只要能够识别出是经过本发明实施例的压缩处理即可。
其中,算法标识可以是压缩算法的名称。除了在请求头部添加压缩标识之外,还将在请求头部添加压缩请求参数的压缩算法的算法标识,以及请求体的请求体长度,此时可以得到本发明实施例的经过压缩处理后的,体积减小的HTTP请求,也即是压缩网络请求。
步骤105,将所述压缩网络请求发送至对应的接收端。
其中,对于压缩网络请求,可以将其发送至对应的接收端中,以使该接收端处理该压缩网络请求。
在上述的网络请求传输方法中,通过对于包括请求头部、请求参数和请求体的目标网络请求,从网络请求中截取出请求参数并基于压缩算法进行压缩处理得到压缩请求参数,然后将压缩请求参数填入请求体中,并确定填入压缩请求参数后的所述请求体的请求体长度,最后在请求头部添加指定的压缩标识、压缩算法和请求体长度得到压缩网络请求,对于获得的压缩网络请求可以发送至对应的接收端进一步处理,由于本发明实施例通过压缩算法对网络请求中的请求参数进行了压缩处理,故而减小网络请求的体积,进而提高网络请求的发送成功率,以及减小占用带宽,节省带宽成本。
在本发明的一示例性实施例中,所述步骤101,获取目标网络请求,包括:
获取初始网络请求;
当所述初始网络请求不包含请求体时,为所述初始网络请求添加请求体得到目标网络请求;
当所述初始网络请求包含请求体时,将所述初始网络请求作为目标网络请求。
在本发明实施例中,对于即将发送至接收端的初始网络请求,首先需要确定其是否包括请求体,如果该初始网络请求包含请求体,则直接将该初始网络请求作为目标网络请求,如果该初始网络请求不包含请求体,则需要为该初始网络请求添加请求体,并将添加请求体后的初始网络请求作为目标网络请求。
作为本发明的一种示例,HTTP请求中的POST请求具有请求体,因此如果HTTP请求不是POST请求,则可以首先将其转换为POST请求,这样HTTP请求就可以带有请求体,当然,如果HTTP请求是POST请求,由于其本身具有请求体,则无需进行转换处理。具体地,对于不是POST请求的HTTP请求,可以从HTTP请求提取出请求头部、请求参数等参数,然后获取一个空的POST请求,并按照该POST请求的格式填入相应的参数,其中,如果HTTP请求中没有请求体,则填入POST请求体的请求体参数可以为空。
在实际中,通常一个HTTP请求的请求参数(parameters),在URI都是以key1=value1&key2=value2这样的键值对的形式组合而成的,随着在请求参数中加入的键值对越来越多,导致URI越来越长,进而导致HTTP请求的体积越来越大。在本发明实施例中,将HTTP请求都转换为具有请求体的POST请求,从而可以将HTTP请求中体积较大的请求参数部分利用压缩算法进行压缩,最后将压缩后的压缩请求参数转移到POST请求的请求体中,从而可以显著减小请求的体积,提高请求成功率,减少带宽占用。
在具体实现中,请求参数过多也可能引起URL过长,导致服务器判定请求非法,而服务器对不同的HTTP请求的URL有不同的最大长度限制,由于POST请求的请求体的默认长度(1MB)比其他请求的请求参数的默认长度(8KB)大很多,因此使用POST请求同时也可以有效缓解URL过长的问题。
在本示例性实施例中,无论是HTTP请求是POST请求或者不是POST请求,均可以对其请求参数请求压缩处理,并转移至HTTP请求的请求体中,从而达到减小HTTP请求的目的。
在本发明的一示例性实施例中,所述步骤103,将所述压缩请求参数填入所述请求体中,包括:
在所述目标网络请求的请求体中添加第一指定键名,并在所述第一指定键名填入所述压缩请求参数。
在本发明实施例中,对于HTTP请求中的截取出的请求参数,将基于压缩算法进行压缩处理,从而得到压缩后的压缩请求参数。其中,请求参数为纯文本格式,因此在本发明实施例中,针对请求参数使用的压缩算法可以是gzip压缩算法和brotli压缩算法等其他对于请求参数这种纯文本格式的数据压缩率高的压缩算法,可以显著减小HTTP请求的体积。
对于压缩后的压缩请求参数,如果HTTP请求中本身不具有请求体,则可以创建一个JSON(JavaScriptObjectNotation,对象表示法)格式的请求体,并添加第一指定键名,例如“param”,然后在该第一指定键名填入压缩请求参数。
在本示例性实施例中,在HTTP请求的请求体中添加第一指定键名,并在第一指定键名填入压缩请求参数,使得后续对于压缩后的HTTP请求易于从中确定对应的压缩请求参数,从而完成解压。
在本发明的一示例性实施例中,当所述初始网络请求包含请求体时,所述将所述压缩请求参数填入所述请求体中,还包括:
获取所述初始网络请求的请求体的初始请求体数据;
在所述目标网络请求的请求体中添加第二指定键名,并在所述第二指定键名填入所述初始请求体数据。
在本发明实施例中,对于压缩后的压缩请求参数,如果HTTP请求中本身具有请求体,则在请求体中添加第一指定键名,然后在该键名填入压缩请求参数,同时还将获取原先的请求体中的初始请求体数据,并在请求体中添加第二指定键名,例如“original”,并在该第二指定键名填入初始请求体数据。
在本示例性实施例中,对于本身具有请求体的HTTP请求,如果在请求体中包含初始请求体参数,则可以在HTTP请求的请求体中添加第二指定键名,并在第二指定键名填入初始请求体参数,使得接收端后续对于压缩后的HTTP请求易于从中确定对应的初始请求体参数,从而保证能够正常完成压缩前的HTTP请求所请求的内容。
在本发明的一示例性实施例中,所述步骤104,在所述请求头部添加指定的压缩标识、所述压缩算法的算法标识和所述请求体长度,包括:
在所述目标网络请求的所述请求头部添加第三指定键名,在所述第三指定键名填入所述压缩标识;
在所述目标网络请求的所述请求头部添加第四指定键名,在所述第四指定键名填入所述压缩算法;
在所述目标网络请求的所述请求头部添加第五指定键名,在所述第五指定键名填入所述请求体长度。
在本发明实施例中,将压缩标识、压缩算法的算法标识和请求体长度填入到HTTP请求中的请求头部中,具体地,在请求头部中分别添加第三指定键名,第四指定键名和第五指定键名,然后将压缩标识、压缩算法的算法标识和请求体长度对应填入到第三指定键名,第四指定键名和第五指定键名。
举例来说,将在HTTP请求的请求体头部中添加第三指定键名“Convert-Version”,用于表示对请求参数进行了压缩,可以在第三指定键名填入版本号“V1”,以及添加第四指定键名“Content-Encoding”,用于表示对请求参数进行压缩时使用的压缩算法,可以在第四指定键名填入压缩算法的算法标识“gzip”,以及添加第五指定键名“Content-Length”,用于表示请求体的请求体长度,可以在第三指定键名填入请求体长度“32”。
在本示例性实施例中,在HTTP请求的请求体中添加第三指定键名,第四指定键名和第五指定键名,并这些指定键名填入对应的压缩标识、压缩算法和请求体长度,使得接收端可以基于第三指定键名确定HTTP请求是否经过压缩的压缩HTTP请求,若是经过压缩处理,则可以进一步基于第四指定键名和第五指定键名对应的压缩算法和请求体长度对压缩HTTP请求进行解压。
参照图2,为本发明实施例中提供的一种网络请求传输方法的步骤流程图,应用于接收端,如图2所示,该方法具体可以包括如下步骤:
步骤201,接收网络请求;所述网络请求包括请求头部。
步骤202,当从所述请求头部中提取出压缩标识时,将所述网络请求确定为压缩网络请求,所述压缩网络请求包括请求体。
步骤203,从所述压缩网络请求的请求头部提取出压缩算法的算法标识和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数。
步骤204,根据所述请求体长度和所述算法标识对应的压缩算法对所述压缩请求参数进行解压,得到解压后的请求参数,以根据所述请求参数进行相应处理。
其中,接收端可以为服务器,网络请求可以为HTTP请求,压缩网络请求为经过请求参数经过压缩处理后的压缩HTT请求。
在上述的网络请求传输方法中,在接收到发送端发送的HTTP请求时,通过首先确定HTTP请求的请求体头部中是否具有压缩标识,若具有压缩标识,则表示该HTTP请求的请求参数经过压缩处理的压缩请求参数,则将进一步从请求头部中提取出请求体长度和压缩算法,基于请求体长度以及与该压缩算法对应的解压算法对压缩请求参数进行解压,从而得到解压后的请求参数,完成对于压缩后的压缩HTT请求的解压,在接收端设置对应解压流程,使得在接收端完成压缩后的HTTP请求,能够在接收端被正确解压,还原回解压前的HTTP请求并处理。
本发明实施例中,在接收端添加了确定是否是压缩网络请求的步骤,其他处理HTTP请求的流程不变,因此并不会对于其他的HTTP请求的正常处理造成影响。
在本发明的一示例性实施例中,在当从所述请求头部中提取出压缩标识时,将所述网络请求确定为压缩网络请求,所述压缩网络请求包括请求体之前,所述方法还包括:
检测所述请求头部的第三指定键名是否存在压缩标识。
在本发明实施例中,为了标记出HTTP请求中的请求参数是经过压缩算法压缩处理,故在该HTTP请求的请求头部中添加压缩标识,而该压缩标识可以在第三指定键名,例如“Convert-Version”中对应填入。因此,如果该网络请求的第三指定键名中检测到压缩标识,从而确定为该HTTP请求为压缩HTTP请求。
在本示例性实施例中,通过HTTP请求的请求头部中第三指定键名的压缩标识,确定该HTTP请求是否为请求参数经过压缩处理的压缩HTTP请求,从而可以在确定为是压缩HTTP请求后,对该压缩HTTP请求进行解压,进而能够正常响应该HTTP请求。
在本发明的一示例性实施例中,所述从所述压缩网络请求的请求头部提取出压缩算法的算法标识和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数,包括:
从所述压缩网络请求的请求头部的第四指定键名对提取压缩算法的算法标识;
从所述压缩网络请求的请求头部的第五指定键名提取请求体长度;
从所述压缩网络请求的请求体的第一指定键名提取压缩请求参数。
在本发明实施例中,在确定为压缩HTTP请求后,将进一步从请求头部中提取出压缩算法和请求体长度,而在请求头部中压缩算法和请求体长度分别在第四指定键名和第五指定键名,则可以在第四指定键名和第五指定键名,例如“Content-Encoding”和“Content-Length”获取对应的压缩算法和请求体长度,同时,还可以从请求体中的第一指定键名,例如“param”中获取对应的压缩请求参数,从而可以基于压缩算法完成对于压缩请求参数的解压,根据请求体长度读取得知需要读取请求体参数的长度,还原回初始的HTTP请求。
在本示例性实施例中,在确定HTTP请求为压缩HTTP请求后,通过HTTP请求的请求头部中第四指定键名和第五指定键名,获取对应的压缩算法和请求体长度,以及从请求体的第一指定键名获取对应的压缩请求参数,从而可以基于压缩算法和请求体长度进行解压,进而能够正常响应该HTTP请求。
在本发明的一示例性实施例中,所述从所述压缩网络请求的请求头部提取出压缩算法和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数,还包括:
当所述压缩网络请求的请求体包括第二指定键名时,获取所述第二指定键名对应的初始请求体数据。
在本发明实施例中,压缩HTTP请求可能在被压缩前,其本身是已经具有请求体,则在压缩HTTP请求中还将包括在第二指定键名的初始请求体数据,则可以获取第二指定键名,例如“original”从请求体中获取到初始请求体数据。
在本示例性实施例中,在确定HTTP请求为压缩HTTP请求后,如果该请求体中还包括第二指定键名,则可以获取第二指定键名对应的初始请求体数据,使得接收端正常响应压缩前的HTTP请求中初始请求体数据,从而正常完成压缩前的HTTP请求所请求的内容。
为了使本领域技术人员更好地理解本发明实施例,下面调用一个具体的示例进行说明本发明实施例中HTTP请求的传输过程。参照图3,为本发明实施例中提供的一种HTTP请求的处理架构图,具体实现过程包括:
1、获取HTTP请求,HTTP请求中包括请求行、请求头部和请求体(可选),其中,请求行包括协议、域名、路径和请求参数;
2、对HTTP请求进行请求压缩,得到压缩HTTP请求,具体地,在请求头部添加三个键值对,分别是Convert-Version:压缩标识、Content-Encoding:算法标识、Content-Length:请求体长度,在请求体添加两个键值对,分别是param:压缩请求参数、original:请求体数据。
3、得到压缩HTTP请求后,将压缩HTTP请求发送至接收端,接收端将对压缩HTTP请求进行解压缩处理,得到压缩前的HTTP请求。
综上可知,本发明实施例将请求参数压缩成压缩请求参数后放入请求体中,解决了目前HTTP标准协议规范中未包含的请求参数压缩处理方案,显著的降低了HTTP请求的大小。据统计,在实施本发明实施例后,HTTP请求的体积平均减小30%左右,同时HTTP请求的失败率降低了10%左右,HTTP请求在占用的带宽以及发送成功率等方面优化非常明显。
参照图4,为本发明实施例中提供的一种网络请求传输装置的结构框图,应用于接收端,如图4所示,该装置40具体可以包括如下模块:
目标网络请求获取模块401,用于获取目标网络请求;所述网络请求包括请求头部、请求参数和请求体;
请求参数截取模块402,用于从所述网络请求中截取出所述请求参数,并基于压缩算法对所述请求参数进行压缩处理得到压缩请求参数;
压缩请求参数填入模块403,用于将所述压缩请求参数填入所述请求体中,并确定填入所述压缩请求参数后的所述请求体的请求体长度;
压缩网络请求得到模块404,用于在所述请求头部添加指定的压缩标识、所述压缩算法的算法标识和所述请求体长度,得到压缩网络请求;
压缩网络请求发送模块405,用于将所述压缩网络请求发送至接收端。
在本发明的一示例性实施例中,所述获取目标网络请求401,用于获取初始网络请求;当所述初始网络请求不包含请求体时,为所述初始网络请求添加请求体得到目标网络请求;当所述初始网络请求包含请求体时,将所述初始网络请求作为目标网络请求。
在本发明的一示例性实施例中,所述压缩请求参数填入模块403,用于在所述目标网络请求的请求体中添加第一指定键名,并在所述第一指定键名填入所述压缩请求参数。
在本发明的一示例性实施例中,所述压缩请求参数填入模块403,用于获取所述初始网络请求的请求体的初始请求体数据;在所述目标网络请求的请求体中添加第二指定键名,并在所述第二指定键名填入所述初始请求体数据。
在本发明的一示例性实施例中,所述压缩网络请求得到模块404,用于在所述目标网络请求的所述请求头部添加第三指定键名,在所述第三指定键名填入所述压缩标识;在所述目标网络请求的所述请求头部添加第四指定键名,在所述第四指定键名填入所述压缩算法的算法标识;在所述目标网络请求的所述请求头部添加第五指定键名,在所述第五指定键名填入所述请求体长度。
在本发明的一示例性实施例中,所述请求参数为纯文本格式,所述压缩算法至少包括gzip压缩算法和brotli压缩算法的其中一种。
在本发明实施例中,通过对于包括请求头部、请求参数和请求体的目标网络请求,从网络请求中截取出请求参数并基于压缩算法进行压缩处理得到压缩请求参数,然后将压缩请求参数填入请求体中,并确定填入压缩请求参数后的所述请求体的请求体长度,最后在请求头部添加指定的压缩标识、压缩算法和请求体长度得到压缩网络请求,对于获得的压缩网络请求可以发送至对应的接收端进一步处理,由于本发明实施例通过压缩算法对网络请求中的请求参数进行了压缩处理,故而减小网络请求的体积,进而提高网络请求的发送成功率,以及减小占用带宽,节省带宽成本。
参照图5,为本发明实施例中提供的一种网络请求传输装置的结构框图,应用于接收端,如图5所示,该装置50具体可以包括如下模块:
网络请求接收模块501,用于接收网络请求;所述网络请求包括请求头部;
压缩网络请求确定模块502,用于当从所述请求头部中提取出压缩标识时,将所述网络请求确定为压缩网络请求,所述压缩网络请求包括请求体;
数据提取模块503,用于从所述压缩网络请求的请求头部提取出压缩算法的算法标识和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数;
压缩请求参数解压模块504,用于根据所述请求体长度和所述算法标识对应的压缩算法对所述压缩请求参数进行解压,得到解压后的请求参数,以根据所述请求参数进行相应处理。
在本发明的一示例性实施例中,所述装置还包括:
压缩标识获取模块,用于检测所述请求头部的第三指定键名是否存在压缩标识。
在本发明的一示例性实施例中,所述数据提取模块503,用于从所述压缩网络请求的请求头部的第四指定键名提取压缩算法;从所述压缩网络请求的请求头部的第五指定键名提取请求体长度;从所述压缩网络请求的请求体的第一指定键名提取压缩请求参数。
在本发明的一示例性实施例中,所述数据提取模块503,用于检测所述压缩网络请求的请求体是否存在第二指定键名;若是,则从所述第二指定键名提取初始请求体数据。
在本发明实施例中,在接收到发送端发送的HTTP请求时,通过首先确定HTTP请求的请求体头部中是否具有压缩标识,若具有压缩标识,则表示该HTTP请求的请求参数经过压缩处理的压缩请求参数,则将进一步从请求头部中提取出请求体长度和压缩算法,基于请求体长度以及与该压缩算法对应的解压算法对压缩请求参数进行解压,从而得到解压后的请求参数,完成对于压缩后的压缩HTT请求的解压,在接收端设置对应解压流程,使得在接收端完成压缩后的HTTP请求,能够在接收端被正确解压,还原回解压前的HTTP请求并处理。
参照图6,为本发明实施例中提供的一种网络请求传输系统的结构框图,应用于接收端,如图6所示,该装置60具体可以包括如下模块发送端601和接收端602:
所述发送端601,用于获取目标网络请求;所述网络请求包括请求头部、请求参数和请求体;从所述网络请求中截取出所述请求参数,并基于压缩算法对所述请求参数进行压缩处理得到压缩请求参数;将所述压缩请求参数填入所述请求体中,并确定填入所述压缩请求参数后的所述请求体的请求体长度;在所述请求头部添加指定的压缩标识、所述压缩算法的算法标识和所述请求体长度,得到压缩网络请求;将所述压缩网络请求发送至接收端602;
所述接收端602,用于接收网络请求;所述网络请求包括请求头部;当从所述请求头部中提取出压缩标识时,将所述网络请求确定为压缩网络请求,所述压缩网络请求包括请求体;从所述压缩网络请求的请求头部提取出压缩算法的算法标识和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数;根据所述请求体长度和所述算法标识对应的压缩算法对所述压缩请求参数进行解压,得到解压后的请求参数,以根据所述请求参数进行相应处理。
对于上述装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
获取目标网络请求;所述网络请求包括请求头部、请求参数和请求体;
从所述网络请求中截取出所述请求参数,并基于压缩算法对所述请求参数进行压缩处理得到压缩请求参数;
将所述压缩请求参数填入所述请求体中,并确定填入所述压缩请求参数后的所述请求体的请求体长度;
在所述请求头部添加指定的压缩标识、所述压缩算法的算法标识和所述请求体长度,得到压缩网络请求;
将所述压缩网络请求发送至接收端。
可选地,所述获取目标网络请求,包括:
获取初始网络请求;
当所述初始网络请求不包含请求体时,为所述初始网络请求添加请求体得到目标网络请求;
当所述初始网络请求包含请求体时,将所述初始网络请求作为目标网络请求。
可选地,所述将所述压缩请求参数填入所述请求体中,包括:
在所述目标网络请求的请求体中添加第一指定键名,并在所述第一指定键名填入所述压缩请求参数。
可选地,当所述初始网络请求包含请求体时,所述将所述压缩请求参数填入所述请求体中,还包括:
获取所述初始网络请求的请求体的初始请求体数据;
在所述目标网络请求的请求体中添加第二指定键名,并在所述第二指定键名填入所述初始请求体数据。
可选地,所述在所述请求头部添加指定的压缩标识、所述压缩算法和所述请求体长度,包括:
在所述目标网络请求的所述请求头部添加第三指定键名,在所述第三指定键名填入所述压缩标识;
在所述目标网络请求的所述请求头部添加第四指定键名,在所述第四指定键名填入所述压缩算法;
在所述目标网络请求的所述请求头部添加第五指定键名,在所述第五指定键名填入所述请求体长度。
可选地,处理器701,用于执行存储器703上所存放的程序时,还可以实现如下步骤:
接收网络请求;所述网络请求包括请求头部;
当从所述请求头部中提取出压缩标识时,将所述网络请求确定为压缩网络请求,所述压缩网络请求包括请求体;
从所述压缩网络请求的请求头部提取出压缩算法的算法标识和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数;
根据所述请求体长度和所述算法标识对应的压缩算法对所述压缩请求参数进行解压,得到解压后的请求参数,以根据所述请求参数进行相应处理。
可选地,在当从所述请求头部中提取出压缩标识时,将所述网络请求确定为压缩网络请求,所述压缩网络请求包括请求体之前,所述方法还包括:
检测所述请求头部的第三指定键名是否存在压缩标识。
可选地,所述从所述压缩网络请求的请求头部提取出压缩算法和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数,包括:
从所述压缩网络请求的请求头部的第四指定键名提取压缩算法的算法标识;
从所述压缩网络请求的请求头部的第五指定键名提取请求体长度;
从所述压缩网络请求的请求体的第一指定键名提取的压缩请求参数。
可选地,所述从所述压缩网络请求的请求头部提取出压缩算法和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数,还包括:
检测所述压缩网络请求的请求体是否存在第二指定键名;
若是,则从所述第二指定键名提取初始请求体数据。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的网络请求传输方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的网络请求传输方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均调用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (13)

1.一种网络请求传输方法,其特征在于,应用于发送端,包括:
获取目标网络请求;所述网络请求包括请求头部、请求参数和请求体;
从所述网络请求中截取出所述请求参数,并基于压缩算法对所述请求参数进行压缩处理得到压缩请求参数;
将所述压缩请求参数填入所述请求体中,并确定填入所述压缩请求参数后的所述请求体的请求体长度;
在所述请求头部添加指定的压缩标识、所述压缩算法的算法标识和所述请求体长度,得到压缩网络请求;
将所述压缩网络请求发送至接收端;
其中,所述获取目标网络请求,包括:
获取初始网络请求;
当所述初始网络请求不是POST请求的HTTP请求时,从所述初始网络请求提取出请求头部、请求参数,获取一个空的POST请求,按照所述空的POST请求的格式填入提取的所述请求头部和请求参数,所述POST请求的请求体为空,得到所述目标网络请求;
当所述初始网络请求是POST请求的HTTP请求时,将所述初始网络请求作为目标网络请求。
2.根据权利要求1所述的方法,其特征在于,所述将所述压缩请求参数填入所述请求体中,包括:
在所述目标网络请求的请求体中添加第一指定键名,并在所述第一指定键名填入所述压缩请求参数。
3.根据权利要求2所述的方法,其特征在于,当所述初始网络请求包含请求体时,所述将所述压缩请求参数填入所述请求体中,还包括:
获取所述初始网络请求的请求体的初始请求体数据;
在所述目标网络请求的请求体中添加第二指定键名,并在所述第二指定键名填入所述初始请求体数据。
4.根据权利要求1所述的方法,其特征在于,所述在所述请求头部添加指定的压缩标识、所述压缩算法的算法标识和所述请求体长度,包括:
在所述目标网络请求的所述请求头部添加第三指定键名,在所述第三指定键名填入所述压缩标识;
在所述目标网络请求的所述请求头部添加第四指定键名,在所述第四指定键名填入所述压缩算法的算法标识;
在所述目标网络请求的所述请求头部添加第五指定键名,在所述第五指定键名填入所述请求体长度。
5.一种网络请求传输方法,其特征在于,应用于接收端,包括:
接收网络请求;所述网络请求包括请求头部;所述网络请求包括目标网络请求,所述目标网络请求通过如下方式在发送端生成:获取初始网络请求;当所述初始网络请求不是POST请求的HTTP请求时,从所述初始网络请求提取出请求头部、请求参数,获取一个空的POST请求,按照所述空的POST请求的格式填入提取的所述请求头部和请求参数,所述POST请求的请求体为空,得到所述目标网络请求;当所述初始网络请求是POST请求的HTTP请求时,将所述初始网络请求作为目标网络请求;
当从所述请求头部中提取出压缩标识时,将所述网络请求确定为压缩网络请求,所述压缩网络请求包括请求体;
从所述压缩网络请求的请求头部提取出压缩算法的算法标识和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数;
根据所述请求体长度和所述算法标识对应的压缩算法对所述压缩请求参数进行解压,得到解压后的请求参数,以根据所述请求参数进行相应处理。
6.根据权利要求5所述的方法,其特征在于,在当从所述请求头部中提取出压缩标识时,将所述网络请求确定为压缩网络请求,所述压缩网络请求包括请求体之前,所述方法还包括:
检测所述请求头部的第三指定键名是否存在压缩标识。
7.根据权利要求6所述的方法,其特征在于,所述从所述压缩网络请求的请求头部提取出压缩算法的算法标识和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数,包括:
从所述压缩网络请求的请求头部的第四指定键名提取压缩算法的算法标识;
从所述压缩网络请求的请求头部的第五指定键名提取请求体长度;
从所述压缩网络请求的请求体的第一指定键名提取压缩请求参数。
8.根据权利要求7所述的方法,其特征在于,所述从所述压缩网络请求的请求头部提取出压缩算法和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数,还包括:
检测所述压缩网络请求的请求体是否存在第二指定键名;
若是,则从所述第二指定键名提取初始请求体数据。
9.一种网络请求传输装置,其特征在于,应用于发送端,包括:
目标网络请求获取模块,用于获取目标网络请求;所述网络请求包括请求头部、请求参数和请求体;所述目标网络请求获取模块,用于当初始网络请求不是POST请求的HTTP请求时,从所述初始网络请求提取出请求头部、请求参数,获取一个空的POST请求,按照所述空的POST请求的格式填入提取的所述请求头部和请求参数,所述POST请求的请求体为空,得到目标网络请求;当所述初始网络请求是POST请求的HTTP请求时,将所述初始网络请求作为目标网络请求;
请求参数截取模块,用于从所述网络请求中截取出所述请求参数,并基于压缩算法对所述请求参数进行压缩处理得到压缩请求参数;
压缩请求参数填入模块,用于将所述压缩请求参数填入所述请求体中,并确定填入所述压缩请求参数后的所述请求体的请求体长度;
压缩网络请求得到模块,用于在所述请求头部添加指定的压缩标识、所述压缩算法的算法标识和所述请求体长度,得到压缩网络请求;
压缩网络请求发送模块,用于将所述压缩网络请求发送至接收端。
10.一种网络请求传输装置,其特征在于,应用于接收端,包括:
网络请求接收模块,用于接收网络请求;所述网络请求包括请求头部;
压缩网络请求确定模块,用于当从所述请求头部中提取出压缩标识时,将所述网络请求确定为压缩网络请求,所述压缩网络请求包括请求体;
数据提取模块,用于从所述压缩网络请求的请求头部提取出压缩算法的算法标识和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数;
压缩请求参数解压模块,用于根据所述请求体长度和所述压缩算法对所述压缩请求参数进行解压,得到解压后的请求参数,以根据所述请求参数进行相应处理;
其中,所述网络请求接收模块,用于获取初始网络请求;当所述初始网络请求不是POST请求的HTTP请求时,从所述初始网络请求提取出请求头部、请求参数,获取一个空的POST请求,按照所述空的POST请求的格式填入提取的所述请求头部和请求参数,所述POST请求的请求体为空,得到目标网络请求;当所述初始网络请求是POST请求的HTTP请求时,将所述初始网络请求作为目标网络请求。
11.一种网络请求传输系统,其特征在于,包括发送端和接收端;
所述发送端,用于获取目标网络请求;所述网络请求包括请求头部、请求参数和请求体;从所述网络请求中截取出所述请求参数,并基于压缩算法对所述请求参数进行压缩处理得到压缩请求参数;将所述压缩请求参数填入所述请求体中,并确定填入所述压缩请求参数后的所述请求体的请求体长度;在所述请求头部添加指定的压缩标识、所述压缩算法的算法标识和所述请求体长度,得到压缩网络请求;将所述压缩网络请求发送至接收端;其中,所述获取目标网络请求,包括:获取初始网络请求;当所述初始网络请求不是POST请求的HTTP请求时,从所述初始网络请求提取出请求头部、请求参数,获取一个空的POST请求,按照所述空的POST请求的格式填入提取的所述请求头部和请求参数,所述POST请求的请求体为空,得到所述目标网络请求;当所述初始网络请求是POST请求的HTTP请求时,将所述初始网络请求作为目标网络请求;
所述接收端,用于接收网络请求;所述网络请求包括请求头部;当从所述请求头部中提取出压缩标识时,将所述网络请求确定为压缩网络请求,所述压缩网络请求包括请求体;从所述压缩网络请求的请求头部提取出压缩算法的算法标识和请求体长度,以及从所述压缩网络请求的请求体提取出压缩请求参数;根据所述请求体长度和所述算法标识对应的压缩算法对所述压缩请求参数进行解压,得到解压后的请求参数,以根据所述请求参数进行相应处理。
12.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的方法。
CN202011606040.2A 2020-12-28 2020-12-28 网络请求传输方法及装置 Active CN112822237B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011606040.2A CN112822237B (zh) 2020-12-28 2020-12-28 网络请求传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011606040.2A CN112822237B (zh) 2020-12-28 2020-12-28 网络请求传输方法及装置

Publications (2)

Publication Number Publication Date
CN112822237A CN112822237A (zh) 2021-05-18
CN112822237B true CN112822237B (zh) 2022-07-15

Family

ID=75855013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011606040.2A Active CN112822237B (zh) 2020-12-28 2020-12-28 网络请求传输方法及装置

Country Status (1)

Country Link
CN (1) CN112822237B (zh)

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601164B2 (en) * 2009-12-02 2013-12-03 Garmin Switzerland Gmbh HTTP header compression
US20110173443A1 (en) * 2010-01-12 2011-07-14 Phion Ag Secure extranet server
CN101860539B (zh) * 2010-05-28 2013-08-21 华南理工大学 具备服务发现的网络用具控制系统及其控制方法
CN102638454B (zh) * 2012-03-14 2014-05-21 武汉理工大学 一种面向http身份鉴别协议的插件式单点登录集成方法
CN102638580A (zh) * 2012-03-30 2012-08-15 奇智软件(北京)有限公司 一种网页信息处理方法和装置
CN103581130B (zh) * 2012-07-30 2017-01-25 优视科技有限公司 数据压缩处理方法、系统及装置
CN104184766A (zh) * 2013-05-23 2014-12-03 上海优扬新媒信息技术有限公司 服务器与移动终端之间的数据传输方法
CN105704083A (zh) * 2014-11-24 2016-06-22 中兴通讯股份有限公司 以太网激励报文的产生方法、装置及仿真系统
CN106161521B (zh) * 2015-04-01 2019-09-10 阿里巴巴集团控股有限公司 超文本传输协议请求的处理方法及装置
CN104734893B (zh) * 2015-04-02 2018-02-27 重庆邮电大学 一种面向wia‑pa网络的tr069协议管理方法
CN107085574B (zh) * 2016-02-15 2021-03-19 阿里巴巴集团控股有限公司 一种页面数据处理方法及服务器
CN106878336A (zh) * 2017-03-29 2017-06-20 福建中金在线信息科技有限公司 一种数据交互方法及装置
ES2894900T3 (es) * 2017-08-04 2022-02-16 Nokia Technologies Oy Selección del procedimiento de transporte para la entrega de notificaciones del servidor
CN108040095B (zh) * 2017-12-04 2020-10-13 北京小米移动软件有限公司 通信方法、装置及电子设备
CN110505253B (zh) * 2018-05-16 2022-04-05 杭州海康威视系统技术有限公司 一种请求网页信息的方法、装置及存储介质
CN110753020A (zh) * 2018-07-24 2020-02-04 北京京东尚科信息技术有限公司 网络请求处理方法和装置
CN109815214B (zh) * 2018-12-29 2022-05-17 深圳云天励飞技术有限公司 数据库访问方法、系统、装置及存储介质
CN109936624B (zh) * 2019-01-31 2022-03-18 平安科技(深圳)有限公司 Http请求报文头的适配方法、装置和计算机设备
CN111695072A (zh) * 2019-03-12 2020-09-22 上海蔚来汽车有限公司 转换http请求的方法和装置
CN111314439A (zh) * 2020-01-20 2020-06-19 北京无限光场科技有限公司 一种数据发送方法、装置和电子设备
CN111756847B (zh) * 2020-06-28 2023-05-09 北京百度网讯科技有限公司 网站支持https协议的方法和装置

Also Published As

Publication number Publication date
CN112822237A (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
CN105930528B (zh) 一种网页缓存的方法及服务器
CN107124430B (zh) 页面劫持监控方法、装置、系统和存储介质
CN103347092A (zh) 一种识别缓存文件的方法及装置
US9479607B2 (en) Content caching and delivering system with traffic of repetitively requested content reduced
CN107360261A (zh) 一种http请求处理方法、装置及电子设备
CN110888838A (zh) 基于对象存储的请求处理方法、装置、设备及存储介质
CN111159269B (zh) 一种数据处理方法、装置及系统
CN112261111A (zh) 一种应用程序内浏览器跨域访问实现方法及系统
CN109194706B (zh) 网络资源拨测方法及终端
CN108134811B (zh) 目标文件分发或下载的方法、装置和系统
CN112115103B (zh) 文件地址显示方法、装置、电子设备及可读存储介质
CN112822237B (zh) 网络请求传输方法及装置
CN109672756B (zh) 一种数据传输方法及相关装置、服务器和存储介质
CN110633432A (zh) 一种获取数据的方法、装置、终端设备及介质
CN111262779A (zh) 即时通讯中数据的获取方法、装置、服务器及系统
CN112887362B (zh) 一种设备访问方法、设备访问装置及服务器
US11645033B2 (en) Method and apparatus for accessing proprietary resources on a Co-Browse session
CN111782418B (zh) 一种数据归因方法、装置、电子设备和计算机可读介质
CN113473247B (zh) 一种视频播放请求处理方法、装置、系统和电子设备
CN108920589B (zh) 浏览劫持识别方法、装置、服务器及存储介质
CN114090927A (zh) 一种页面加载方法、装置、计算机设备及存储介质
CN109951613B (zh) 图像发送、接收方法及装置、电子设备、存储介质
CN109688204B (zh) 基于ndn网络的文件下载方法、节点、终端
KR101376320B1 (ko) 웹 환경에서 캐싱 효율을 높인 서버, 단말기 및 그 방법
CN110224973B (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
GR01 Patent grant
GR01 Patent grant